封装:将方法写在类里面,用类来封装
class Teacher():
def Student(self):
name = "张三"
继承:新建一个类使用原有的类(son是子类,Father是父类)
*单继承*
class Father():
hobby="打球"
class Son(Father):
age = "18"
f = Father() #实例化对象
f.hobby() #子类调用父类方法
*多继承*
class Father1():
hobby="打球"
def Palygames():
game = "王者荣耀"
class Father2():
gender="男"
class Son(Father1,Father2):
gender = "女" #复写父类属性
def Palygames(): #复写父类方法
game = "英雄联盟"
age = "18"
f = Father() #实例化对象
f.hobby() #子类调用父类方法
f.gender()
多态:一个抽象类有多个子类,因此多态的概念依赖于继承
(抽象类:含有抽象方法的类)
(抽象方法:方法体是空实现(pass)的方法)
class Animal():
def speak(self):
pass
class Cat(Animal):
def speak(self):
noise = "喵喵喵"
class Dog(Animal):
def speak(self):
noise = "汪汪汪"
#定义一个函数对象,传入参数animal,对参数进行类型注解:Animal
#(通过类型注解声明需要父类对象,实际传入子类对象进行工作,从而获得不同工作状态)
def make_noise(animal:Animal):
animal.speak()
#构建类对象
cat = Cat()
dog = Dog()
#调用函数传入子类对象
make_noise(cat)
make_noise(dog)
```