内容正文:
类的继承
Simple Easy Open Free Portable
1
问题提出:
什么是继承?引入继承有什么好处?怎么实现继承?
2
目录
contents
继承的概念△☆
01
定义子类
02
阅读继承程序
03
继承中问题
04
3
PART
01
继承的概念
概念
分类
4
猫和狗除了有自己的特有的属性和行为外,也同时有动物类的某些属性和行为,它们之间存在一种继承的关系。动物animal类是父类,也称为基类,猫和狗是动物animal类的子类。
5
PART
02
定义子类
6
lass 类名(父类)
定义子类:
7
PART
03
阅读程序
8
class animal():
def __init__(self,name,color,age):
self.name=name
self.color=color
self.age=age
def call(self):
print('%s在吼叫'% self.name)
def eat(self):
print('%s在吃食'% self.name)
阅读下面程序,写出正确的结果
9
class cat(animal):
def __init__(self,name,color,age):
animal.__init__(self,name,color,age)
def run(self):
return '%s是一只猫在跑'% self.name
def eat(self): (( 动画2)
animal.eat(self) ( 动画2)
bs=cat('mimi','white',3)
bs.call()
bs.eat()
print(bs.run())
10
mimi在吼叫
mimi在吃食
mimi是一只猫在跑
运行结果是:
11
对上面的代码进行分析:
(1)定义了两个类:animal类和cat类, animal类是父类,cat类是子类;
(2)animal类有三个属性name,color,age,三个方法:__init__方法、call()方法、eat()方法;
cat类继承了animal类有三个属性name,color,age,有三个方法:init__方法、run方法和eat方法。并在自己初始化_init__方法中调用了父类的_init__方法,在eat方法中调用父类的eat方法,注意调用父类方法是:父类名.方法名(self);
(3)子类在调用run方法,先在自己的类找run方法,找到执行代码;
(4)子类在调用call方法,在自己的类中找不到,才到父类animal中找,找到执行代码。
12
PART
03
继承中的问题
13
在Python中,继承有以下特点:
(1)在继承中,基类初始化方法__init__不会被自动调用,如果希望子类调用基类的__init__方法,需要在子类的__init__方法中显示调用它;(说这句话时发生动画1)
(2)在调用基类的方法时,需要加上基类的类名前缀,且带上self参数变量。注意,在类中调用在该类中定义的方法是不需要self参数;(说这句话时发生动画2)
(3)Python总是首先查找对应类的方法,如果在子类中没有对应的方法,Python才会在继承链的基类中按顺序查找。
14
1.如果子类的方法名与父类方法名相同,子类方法覆盖父类方法。
继承中问题:
15
2.如果父类方法与子类方法同名,你想调用父类的方法:
在调用父类方法的地方写:父类名. 方法名。
16
1继承概念
2定义子类
3.继承中问题
LOREM
本节小结
17
感谢观看
Thank you for your download and watch
18
$$