1.继承
真实:继承 ---->家产
富二代 拆二代 官二代
继承:爷爷 ------ 父亲 -------儿子 :
继承:有血缘关系
注意:子类可以继承父类的一般属性和方法 (不能继承私有)
特点:
单继承 多层次
继承:爷爷 ------ 父亲 -------女儿
继承:爷爷 ------ 公公 ------- 儿媳
特点:
多继承 多层次
总结: 单继承 多继承 多层次
名词:子类 父类
程序:is -a 波斯猫是一只猫 苹果是一个水果
1.语法
万物皆对象 object
class A: 父类
class B(A): 子类
B继承A
class A:
def testA(self):
print("testA.....")
# 父亲
class B(A):
def testB(self):
print("testB.....")
#孙子
class C(B):
def testC(self):
print("testC.....")
c=C()
c.testA()
c.testB()
c.testC()
# testA.....
# testB.....
# testC.....
class Aniaml:
def __init__(self, name, color):
self.name = name
self.color = color
def info(self):
print("它的名字:",self.name," 颜色:" ,self.color)
class Dog(Aniaml):
def work(self):
print("看门.....")
class Cat(Aniaml):
def work(self):
print("抓老鼠.....")
2.重写
import abc
class Pet:
Nickname=''
age=0
sex=''
@abc.abstractmethod
def display(self):
pass
class QQ( Pet):
type='企鹅'
def display(self):
print('我是一只QQ企鹅')
class Rabbit(Pet):
food='胡萝卜'
def display(self):
print('我是一只兔子')
qq=QQ()
qq.display()
print('QQ的类型是:',qq.type)
rabbit=Rabbit()
rabbit.display()
print('兔子喜欢的事物:',rabbit.food)
2.继承
特点: 单继承 多继承 多层次
注意:私有属性和方法不能继承
方法的重写(继承): 在子类
注意:子类新增属性:super
class Animal:
def eat(self):
print('在吃')
def sleep(self):
print('在睡')
class Rabbit(Animal):
def eat(self):
print('兔子吃草')
super().sleep()
class Tiger(Animal):
def eat(self):
print('老虎吃肉')
super().sleep()
class AnimalTest():
rabbit=Rabbit()
rabbit.eat()
tiger=Tiger()
tiger.eat()