面向对象
对象、类
类 Person
- 创建类:
Person
- 初始化方法:
__init__
- 默认名称:
人类
默认
class Person:def __init__(self, name='人类'):self.name = nameif __name__ == '__main__':p = Person()print("名称:" + p.name)

自定义名称
class Person:def __init__(self, name='人类'):self.name = nameif __name__ == '__main__':p1 = Person('刘德华')print("名称:" + p1.name)

继承
父类 Animal
- 创建类:
Animal
- 初始化方法:
__init__
- 默认名称:
动物
- 定义方法:
eat
、sleep
、speak
默认
class Animal:def __init__(self, name='动物'):self.name = namedef eat(self):print(self.name + ' 吃饭了')def sleep(self):print(self.name + ' 睡觉了')def speak(self):print(self.name + ' 说话了')if __name__ == '__main__':animal = Animal()animal.eat()animal.sleep()animal.speak()

自定义名称
class Animal:def __init__(self, name='动物'):self.name = namedef eat(self):print(self.name + ' 吃饭了')def sleep(self):print(self.name + ' 睡觉了')def speak(self):print(self.name + ' 说话了')if __name__ == '__main__':animal = Animal('一号动物')animal.eat()animal.sleep()animal.speak()

子类 Cat
- 创建类:
Cat
- 继承父类:
Animal
- 初始化方法:
__init__
调用父类的初始化方法 - 父类名._init_(self, 父类同类参数)
- super(子类名,self)._init_(父类同类参数)
- super()._init_(self,父类同类参数)
推荐使用
- 默认名称:
小猫
- 重写父类方法:
eat
、speak
默认
from test.Animal import Animalclass Cat(Animal):def __init__(self, name='小猫'):super().__init__(name) def eat(self):print(self.name + ' 吃猫粮了')def speak(self):print(self.name + ' 喵喵喵')if __name__ == '__main__':cat = Cat('小花')cat.eat()cat.sleep()cat.speak()

自定义名称
from test.Animal import Animalclass Cat(Animal):def __init__(self, name='小猫'):super().__init__(name) def eat(self):print(self.name + ' 吃猫粮了')def speak(self):print(self.name + ' 喵喵喵')if __name__ == '__main__':cat = Cat('小花')cat.eat()cat.sleep()cat.speak()

子类 Dog
- 创建类:
Dog
- 继承父类:
Animal
- 初始化方法:
__init__
调用父类的初始化方法 - 父类名._init_(self, 父类同类参数)
- super(子类名,self)._init_(父类同类参数)
- super()._init_(self,父类同类参数)
推荐使用
- 默认名称:
小狗
- 重写父类方法:
eat
、speak
默认
from test.Animal import Animalclass Dog(Animal):def __init__(self, name='小狗'):super().__init__(name)def eat(self):print(self.name + ' 吃狗粮了')def speak(self):print(self.name + ' 汪汪汪')if __name__ == '__main__':dog = Dog()dog.eat()dog.sleep()dog.speak()

自定义名称
from test.Animal import Animalclass Dog(Animal):def __init__(self, name='小狗'):super().__init__(name)def eat(self):print(self.name + ' 吃狗粮了')def speak(self):print(self.name + ' 汪汪汪')if __name__ == '__main__':dog = Dog('小黑')dog.eat()dog.sleep()dog.speak()

多态
饲养猫
from test.Cat import Catclass Person:def __init__(self, name='人类'):self.name = namedef feed(self, animal):animal.eat()if __name__ == '__main__':p = Person()print("名称:" + p.name)print("----------饲养猫----------")cat = Cat('小花猫')p.feed(cat)
- 运行

饲养狗
from test.Cat import Cat
from test.Dog import Dog
class Person:def __init__(self, name='人类'):self.name = namedef feed(self, animal):animal.eat()if __name__ == '__main__':p = Person()print("名称:" + p.name)print("----------饲养猫----------")cat = Cat('小花猫')p.feed(cat)print("----------饲养狗----------")dog = Dog('小花狗')p.feed(dog)
- 运行
