Python3 面向对象编程,类的继承详解,让你一看就懂!

python3 面向对象编程,类的继承详解,

最近无所事事总想写点什么!一翻书就翻到了类的继承,难得突发奇想啊,俗话说的好:“人生得意须尽欢,莫使金樽空对月”,难得感想就来写一篇关于类的继承的知识点的内容吧!
类的继承分为以下几个内容:

  1. 单继承:顾名思义就是继承单个父类
  2. 多继承·:顾名思义就是继承多个父类
  3. 多重继承:多重继承就是相互继承!但前提是同一个方法属性不能重复继承!(下面会详解)

单继承:(如下举例)

class  fulei():
    def fufang(self):
        self.name="Adi"
        self.sex=18
        print("我是父类的方法: 我的名字叫:%s ,我的性别是:%d"  %(self.name,self.sex) )
class zilei(fulei):
    print("我是子类")
adi=fulei()
adi.fufang()
adi1=zilei()  # 实例化子类为对象
adi1.fufang()  # 通过子类的继承调用父类中的方法

输出结果:
我是子类
我是父类的方法: 我的名字叫:Adi ,我的age是:18
我是父类2的方法: 我的名字叫:千灯 ,我的年龄是:16

多继承:(如下举例)

class  fulei():
    def fufang(self):
        self.name="Adi"
        self.sex=18
        print("我是父类的方法: 我的名字叫:%s ,我的性别是:%d"  %(self.name,self.sex) )

class  fulei2():
    def fufang2(self):
        self.name="千灯"
        self.sex=16
        print("我是父类2的方法: 我的名字叫:%s ,我的性别是:%d"  %(self.name,self.sex) )
class zilei(fulei,fulei2):
    print("我是子类")
adi1=zilei()  # 直接实例化子类为对象
adi1.fufang()
adi1.fufang2()

输出结果:
我是子类
我是父类的方法: 我的名字叫:Adi ,我的age是:18
我是父类2的方法: 我的名字叫:千灯 ,我的年龄是:16

多重继承:(如下举例)

class  fulei():
    def fufang(self):
        self.name="Adi"
        self.age=18
        print("我是父类的方法: 我的名字叫:%s ,我的age是:%d"  %(self.name,self.age) )
class  fulei2(fulei):
    def fufang2(self):
        self.name="千灯"
        self.age=16
        print("我是父类2的方法: 我的名字叫:%s ,我的年龄是:%d"  %(self.name,self.age) )
class zilei(fulei2):
        
# 这样的重复继承调用会报错!因为fulei中的方法fulei2已结全部继承了,无需再重复继承fulei中的方法
# class zilei(fulei,fulei2):  # 这样的重复继承调用会报错!因为fulei中的方法fulei2已结全部继承了,无需再重复继承fulei中的方法
# 当然你可以这样写,不过这样py就只在fulei2中找,把指针指向fulei2,fulei1就没有意义了(不起作用),这种写法其实就相当于 : class zilei(fulei2):
# class zilei(fulei2,fulei):  
    print("我是子类")
    
adi1=zilei()  # 直接实例化子类为对象
adi1.fufang()    # 当你使用重复继承fulei,fulei2是指针没办法区别你要指向的是fulei还是fulei2 ,所以会报错!,比如上面的第二种写法!
adi1.fufang2()   # 当你使用重复继承fulei,fulei2是指针没办法区别你要指向的是fulei还是fulei2 ,所以会报错!,比如上面的第二种写法!

输出结果:
我是子类
我是父类的方法: 我的名字叫:Adi ,我的age是:18
我是父类2的方法: 我的名字叫:千灯 ,我的年龄是:16

注意看多重继承里面的注释内容,坑都在里面了,可以复制代码自己试验看看结果!有些人喜欢把多继承跟多重继承一起叫多重继承,还有些喜欢把多继承跟多重继承一起叫多继承!我这里把内容细分为三个知识点主要便于理解记忆,不会搞混!

如果哪位大佬还能找出其他问题欢迎留言讨论!

猜你喜欢

转载自blog.csdn.net/qq_43082279/article/details/109713159