Python教程

CodingLifeDay5:Python:面向对象基础知识Section2

本文主要是介绍CodingLifeDay5:Python:面向对象基础知识Section2,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

1,继承

2,多态


1,继承

# 继承:子类可以继承父类的属性和方法
class child_class(parent_class1, parent_class2):
    def __init__(self, variable1, variable2, variable3):  # 子类通常在构造方法中调用父类的构造方法
        super().__init__(variable1)                       # 第一种调用方法:只有第一个父类可以使用
        parent_class2.__init__(self, variable2)           # 第二种调用方法:所有父类都可以使用
        pass                                              # 处理子类的构造方法中独有的参数:variable3

# 调用方法时的优先级是:child_class > parent_class1 > parent_class2
# super()也可用于调用第一个父类的方法:super().function(variable)。这种调用只能在定义类时使用。

2,多态

# 多态
class Animal():
    def speak(self):
        print("this is animal")

class Cat(Animal):                 # 实现多态第一步:继承父类
    def speak(self):               # 实现多态第二步:重写方法
        print("miao miao")

class Dog(Animal):
    def speak(self):
        print("wang wang")

def speak(animal_name):
    animal_name.speak()

cat = Cat()
dog = Dog()

speak(cat)                         # 由此可以看出多态的优点:①继承实现了同一个父类的不同形态;②重写使得方法调用十分方便
speak(dog)

这篇关于CodingLifeDay5:Python:面向对象基础知识Section2的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!