1.继承:顾名思义 拿来吧你 依法接受
class Animal:
def eat(self):
print('动物有吃的方法')
def sleep(self):
print('动物有睡的方法')
class Dog(Animal):
def run(self):
print('动物有跑的方法')
def bark(self):
print('动物有叫的方法')
ergou=Dog()
ergou.eat()
ergou.sleep()
ergou.run()
ergou.bark()
class Animal:
def eat(self):
print('动物有吃的方法')
def sleep(self):
print('动物有睡的方法')
class Dog(Animal):
def run(self):
print('动物有跑的方法')
def bark(self):
print('动物有叫的方法')
class GodDog(Dog):
def fly(self):
print('啸天狗会飞')
xtq = GodDog()
xtq.eat()
xtq.sleep()
xtq.run()
xtq.bark()
xtq.fly()
class CommonDog(Dog):
def catch(self):
print('会抓老鼠')
pt = CommonDog()
pt.run()
pt.sleep()
1.1多继承
class A:
def demoA(self):
print('这是父类A的方法')
class B:
def demoB(self):
print('这是父类A的方法')
class C(A,B):
def demoC(self):
print('这是父类A的方法')
c=C()
c.demoA()
c.demoB()
c.demoC()
class Master:
def __init__(self):
self.peifang = '师傅的蛋糕配方'
def make_cake(self):
print(f'使用{self.peifang}技术')
class School:
def __init__(self):
self.peifang = '学校的蛋糕配方'
def make_cake(self):
print(f'使用{self.peifang}技术,学习蛋糕')
class Tudi(Master,School):
pass
xiaxia = Tudi()
xiaxia.make_cake()
class Master:
def __init__(self):
self.peifang = '师傅的蛋糕配方'
def make_cake(self):
print(f'使用{self.peifang}技术')
class School:
def __init__(self):
self.peifang = '学校的蛋糕配方'
def make_cake(self):
print(f'使用{self.peifang}技术,学习蛋糕')
class Tudi(Master,School):
def __init__(self):
self.peifang='自己的蛋糕配方'
def make_cake(self):
print(f'使用{self.peifang}技术,学习蛋糕')
xiaxia = Tudi()
xiaxia.make_cake()
class Master:
def __init__(self):
self.peifang = '师傅的蛋糕配方'
def make_cake(self):
print(f'使用{self.peifang}技术')
class School(Master):
def __init__(self):
self.peifang = '学校的蛋糕配方'
def make_cake(self):
print(f'使用{self.peifang}技术,学习蛋糕')
super().__init__()
super().make_cake()
class Tudi(School):
def __init__(self):
self.peifang='自己的蛋糕配方'
def make_cake(self):
print(f'使用{self.peifang}技术,学习蛋糕')
super().__init__()
super().make_cake()
xiaxia = Tudi()
xiaxia.make_cake()
2.多态:不明显 不需要继承
class Pig:
def eat(self):
print('猪吃饭')
class Cat:
def eat(self):
print('猫吃猫粮')
class Dog:
def eat(self):
print('狗吃狗粮')
def eat(a):
a.eat()
p = Pig()
c = Cat()
d = Dog()
eat(p)
eat(c)
eat(d)
class Dog:
def __init__(self,name):
self.name = name
def work(self):
print('看守家门')
class BigDog(Dog):
def work(self):
print('抓小偷')
class SmartDog(Dog):
def work(self):
print('缉毒')
class Person:
def with_dog(self,obj):
print('警员和%s一起去--'%(obj.name))
obj.work()
xiaoqi = BigDog('神犬小七')
erha = SmartDog('二哈')
p = Person()
p.with_dog(xiaoqi)
3.各种方法
class Stu:
school = '测码课堂'
def __init__(self,name,age):
self.name = name
self.age = age
def play_ball(self):
print(f'{self.name}打篮球')
@classmethod
def sport(cls):
print(f'{cls.school}的同学都喜欢打羽毛球')
@staticmethod
def clean():
print('打扫卫生')
3.1实例方法
stu1 = Stu('cxk',18)
stu1.play_ball()
Stu.play_ball(stu1)
3.2类方法
stu1 = Stu('cxk',18)
stu1.sport()
Stu.sport()
3.3静态方法
Stu.clean()