python3-类的继承

面向对象编程: 永远不可能获取到对象,只能拥有对象的引用。(程序员不能拥有对象!!!)
Python中不用关心传入参数类型,传入参数为什么类型,参数就是什么类型
类的继承
1.Java是单继承,每个对象默认继承Object类,对象实例化时,默认调用父类构造
2.Python是多继承,默认不会继承任何类,对象实例化时,不会默认调用父类构造
3.Python两种调用父类构造的方法和函数
1父类名称.__init__(self) #任意指明调用
2super(本类名称,self).__init__() #从左的第一个
调用父类构造的顺序,从左边的第一个父类往上继续查找,直到没有了,继续下一个,以此类推。
4.在java中构造方法是可以重载的,而由于Python参数的不确定性,所以构造方法是不能重载的
当然在Python中,如果你的父类方法的功能不能满足你的需求,你也是和Java一样可以在子类重写你父类的方法


class A:
    def __init__(self):
        print("A的构造方法")
class A1:
    def __init__(self):
        print("A1的构造方法")
class B(A,A1):
    def __init__(self):
        A.__init__(self)
        A1.__init__(self)
        print("B的构造方法")
class B1:
    def __init__(self):
        print("B1的构造方法")
class C(B,B1):
    def __init__(self):
        B.__init__(self)
        B1.__init__(self)
        super(C,self).__init__()
        print("C的构造方法")
c=C()
---------------
输出结果:
A的构造方法
A1的构造方法
B的构造方法
B1的构造方法
A的构造方法
A1的构造方法
B的构造方法
C的构造方法


类的方法

在类地内部,使用def关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数self, 且为第一个参数,self代表的是类的实例。

self的名字并不是规定死的,也可以使用this,但是最好还是按照约定是用self

类的专有方法

  • __init__ : 构造函数,在生成对象时调用
  • __del__ : 析构函数,释放对象时使用
  • __repr__ : 打印,转换
  • __setitem__ : 按照索引赋值
  • __getitem__: 按照索引获取值
  • __len__: 获得长度
  • __cmp__: 比较运算
  • __call__: 函数调用
  • __add__: 加运算
  • __sub__: 减运算
  • __mul__: 乘运算
  • __div__: 除运算
  • __mod__: 求余运算
  • __pow__: 乘方
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值