• 类的继承


    继承   子类继承父类所有属性     如果属性名重名了,则先从子类开始找,不会覆盖父类的属性

     1 class Dad:
     2     money = 10
     3 
     4     def __init__(self, name):
     5         print('开始')
     6         self.name = name
     7 
     8     def hit_son(self):
     9         print('%s 正在打儿子' % self.name)
    10 
    11 
    12 class Son(Dad):
    13     money = 1100000000   # 与父类重名了,不会覆盖父类的属性
    14     pass
    15 
    16 
    17 s1 = Son('haha')
    18 print(s1.money)
    19 print(Dad.money)
    20 输出:
    21 开始
    22 1100000000
    23 10

     如果A类继承B类,那么当A类进行实例化的时候,首先在A类中寻找init的方法,如果没有,就从B类中寻找。

    传递的参数就按照找到的那个init方法进行传参。调用函数属性的时候也是先从本类中寻找,如果本类中有,就执行本类的函数,如果没有就从父类中寻找后执行

     1 class Dad:
     2     money = 10
     3 
     4     def __init__(self, name):
     5         print('开始')
     6         self.name = name
     7 
     8     def hit_son(self):
     9         print('%s 正在打儿子' % self.name)
    10 
    11 
    12 class Son(Dad):
    13     money = 1100000000   # 与父类重名了,不会覆盖父类的属性
    14     def hit_son(self):
    15         print('这是子类')
    16 
    17 
    18 s1 = Son('haha')
    19 print(s1.money)
    20 print(Dad.money)
    21 s1.hit_son()
    22 输出:
    23 开始
    24 1100000000
    25 10
    26 这是子类

    什么时候用继承:1.类之间有显著的不同,并且较小的类是较大的类所需要的组件时,用组合

    2.当类之间有很多相同的功能,提取这些共同的功能做成基类,用继承

    接口类   必须实现父类的方法,否则无法创建子类

     1 import abc
     2 
     3 
     4 class AllBasic(metaclass=abc.ABCMeta):
     5     @abc.abstractmethod
     6     def read(self):
     7         pass
     8 
     9     @abc.abstractmethod
    10     def write(self):
    11         pass
    12 
    13 
    14 class Mem(AllBasic):
    15     def read(self):
    16         print('写方法')
    17 
    18     def write(self):
    19         print('写方法')
    20 
    21 
    22 s1 = Mem()

    继承顺序    python3中是使用广度优先。

  • 相关阅读:
    nodejs游戏服务器开发(二)---mysql连接
    nodejs游戏服务器开发(一)---socket连接
    《Metasploit渗透测试指南》命令参考列表
    Nmap脚本使用总结(转乌云) 下
    Nmap的介绍和使用(乌云转) 上
    局域网win7系统:虚拟机kali 做端口映射
    漏洞检测的几种方法
    BurpSuite 1.6.27 最新破解版操作
    Metasploit基础
    龙灵:特邀国内第一讲师“玄魂” 在线培训黑客神器Kali Linux
  • 原文地址:https://www.cnblogs.com/ch2020/p/12430596.html
Copyright © 2020-2023  润新知