类的继承
类的继承使用场景:当需要写的类与已存在的类高度相似时,为了避免代码冗余,可以使用类的继承。类的继承语法:
class 类名(要继承的类的类名):
类的帮助信息(即:注释)
类体
类的继承相关规则:
(1)在类的继承之前必须将需要继承的类先导入到当前模块(导入方法同模块的导入)
(2)类体包括类的属性和类的函数(方法)
(3)类名在命名时需要严格遵守标识符的规范,首字母及不同的其他单词的首字母都需要大写(驼峰命名)
(4)如上图,TestLonin类继承了Lonin类,所以Lonin即为父类,TestLonin类为子类;TestLonin类类具有Lonin类的所有方法和属性。
先来看看Lonin类到底有哪些方法和属性
既然TestLonin类具有Lonin类的所有方法和属性,那我们来调用试试
通过TestLonin类调用Lonin类里的静态函数(方法)
通过TestLonin类调用Lonin类里的类函数(方法)
通过TestLonin类对象调用Lonin类里的对象函数(方法)
若父类有初始化函数,子类通过对象调用父类的函数时需要传参(一个也不能少),否则报错
(5)当父类中有初始化函数,且初始化函数没有默认值时,此时子类通过对象调用函数(含父类继承过来的函数和自有的函数)时必须要传参数。
(6)当父类中有初始化函数,且初始化函数有默认值时,此时子类通过对象调用函数(含父类继承过来的函数和自有的函数)时可以传参数,也可以不传参数。
(7)子类可以调用父类所有的属性和所有的方法,但是父类只能调用自己的属性和方法,不能调用子类的任何属性和方法(简单理解:父亲的是我的,我的还是我的)
类的继承之类的重写(override)和类的拓展(extend):
①类的重写的定义:子类重写了父类的同名函数(方法)称为类的重写。
父类(Lonin)中存在platform这个函数(方法),但子类(TestLonin)重新定义(改写)了platform这个函数(方法),这就称为类的重写。
②类的拓展的定义:在继承的前提下,子类有但父类没有的函数(方法),称为类的拓展
子类(TestLonin)中有discount这个函数(方法),但父类(Lonin)中没有该函数(方法),这就属于类的拓展。
页:
[1]