美文网首页js css htmlPython进阶
Python面向对象编程-3·继承

Python面向对象编程-3·继承

作者: 技术老男孩 | 来源:发表于2023-01-13 08:06 被阅读0次

一、继承的概念:

  • 子类 拥有 父类 的所有 方法 和 属性
  • 子类 继承自 父类,可以直接 享受 父类中已经封装好的方法,不需要再次开发
  • 子类 中应该根据 职责,封装 子类特有的 属性和方法
继承图例.png

二、继承的语法结构:

class 类名(父类名):
    pass

三、继承的使用示例:

# 父类
class Role:
    def __init__(self, name, weapon):
        self.name = name     #self 为实例本身的名称
        self.weapon = weapon     #self 为实例本身的名称   
    def show_me(self):      #self 为实例本身的名称
        print('我是%s,我用的武器是%s' % (self.name, self.weapon))

# 子类1
class Warrior(Role):
    def attack(self, target): #子类Warrior定义自己的方法
        print('与%s近身肉搏' % target)

# 子类2
class Mage(Role):
    def attack(self, target): #子类Mage定义自己的方法
        print('远程打击%s' % target)

if __name__ == '__main__':
    lb = Warrior('吕布', '方天画戟 ')
    km = Mage('孔明', '羽扇')
    lb.show_me()
    km.show_me()
    lb.attack('张飞') #子类的对象调用自己的方法attack()
    km.attack('曹操')

四、多重继承:

  • Python 允许多重继承,即:一个类可以是多个父类的子类,子类可以拥有所有父类的属性
  • 在使用方法时,python有自己的查找顺序:自下向上,自左向右(就近原则)

五、多重继承的语法结构:

class 类名(父类1,父类2,父类3...):
    pass

六、多重继承使用示例

class A:
    def func1(self):
        print('A func')
    def func4(self):        #类A中,包含同样的方法名func4()
        print('A func4')

class B:
    def func2(self):
        print('B func')  
    def func4(self):        #类B中,包含同样的方法名func4() 
        print('B func4')

class C(A, B):# 多重继承A和B
    def func3(self):
        print('C func')

if __name__ == '__main__':
    c1 = C()
    c1.func1()
    c1.func2()
    c1.func3()
    c1.func4()

[root@localhost xxx]# python3 multi_extend.py
A func
B func
C func
A func4    # 就近原则先打印A类中的func4

相关文章

  • Python OOP-1

    0. OOP-Python面向对象 Python面向对象 面向对象编程基础公有私有继承组合,Mixin 魔法函数魔...

  • python的面向对象

    python的面向对象(ObjectOriented,OO)-面向对象编程-基础-公有私有-继承-组合,Minxi...

  • 面向对象

    面向对象有3大特性:封装、继承、多态1、介绍面向对象编程 面向对象编程(Object Oriented Progr...

  • python 高级 面向对象编程(OOP)

    面向对象有3大特性:封装、继承、多态 1、介绍面向对象编程 面向对象编程(Object Oriented Pro...

  • day3-python3类

    今天了解了python3中的面向对象编程 包括: 属性和封装 继承和多态 获取对象信息 练习代码链接:python...

  • c#面向对象编程

    面向对象的编程,其实就是用现实中的思维方式来编程。 面向对象编程的3个方式:封装,继承,多态。 而提到面向对象编程...

  • Python面向对象编程-3·继承

    一、继承的概念: 子类 拥有 父类 的所有 方法 和 属性 子类 继承自 父类,可以直接 享受 父类中已经封装好的...

  • 面对对象高级编程

    面向对象高级编程: 面向对象编程:封装、继承和多态 面向对象高级编程:多重继承、定制类和元类

  • Python 面向对象编程

    Python 面向对象编程(一) Python 面向对象编程(一) 虽然Python是解释性语言,但是它是面向对象...

  • Python中的继承

    Python编程语言很容易学习,可以使用过程性编程方法和面向对象编程方法。继承是面向对象编程中的一个这样的概念。代...

网友评论

    本文标题:Python面向对象编程-3·继承

    本文链接:https://www.haomeiwen.com/subject/qrtgqdtx.html