类的继承
之前我们讲过了类的基本用法以及权限,今天学习一下类的继承。
我们简单定义一个继承:
class mylei(object):
****def firm(object):
********print('六楼俱乐部')
class family(mylei):
****def dz(self):
********print('四川成都')
address=family()
address.dz()
address.firm()
在这个继承中 类 family继承了类mylei,也就是说mylei是family的继承对象,mylei称为父类,family称为子类,而mylei的继承对象是object,而object则是所有继承能追溯到的源头。这样就对大概说明白了什么是继承。
我们看一下刚才那个程序的效果是什么:
类初体验
我们可以这样理解,mylei是父亲,family是儿子,第四行是类的实例化,而第八行是调用family这个类中的dz方法
第九行怎么能调用父类mylei中的方法呢,这就是类的特性也是最大的优势,父亲有的一些习性儿子当然有啊!
当然了,父亲的所有习性儿子都能拥有的!比如父类的私有方法,子类就不能调用!例如:
不能调用父类私有方法
看,调用父类私有方法就会报错,父亲脚臭,想必儿子不想继承这个传统吧?
多重继承
多重继承是拥有多个父类,一个子类可以继承多个父类。换句话说,一个儿子可以拥有多个父亲……
看一个例子就好:
class dad1(object):
****def foot(self):
********print('脚臭')
class dad2(object):
****def eye(self):
********print('小眼睛')
class son(dad1,dad2):
****def defect(self):
*******print('脚臭眼睛还小')
run=son()
run.defect()
run.foot()
run.eye()
多重继承
从上面代码发现了多重继承的好处,子类不仅可以继承多个父类而且还可以拥有父类的所有非私有方法。
多态
什么是多态呢?多态就是当子类的方法和父类的方法一致时,子类的方法覆盖父类的方法。
就比如,年轻的时候爸爸时家里顶梁柱,随着年龄增长,父亲干不动了,儿子长大了,儿子就是家里的顶梁柱了
儿子完全替代了父亲了。
还是用栗子说话:
多态
当父类和子类拥有同一种方法时,子类中的方法会覆盖父类中的方法。
封装
封装就是将类封闭起来不让别人看到,用的时候直接调用就可以了。
我们还是举一个栗子:
未封装
未封装的类,实例化传入变量后要调用类,则需要在类外部一个函数,这个函数的作用时起到打印的效果。
第八行是调用函数,而给函数传入的参数则是第5行run里面的变量,因此第七行变量是run.name 和run.age
封装类
如果封装就直接把外部调用类的函数放进类里面,使之变成类的一个方法。
举个栗子:
封装类
这样就把各种数据直接封装到类里面了。
最后
投个票吧
这样诙谐幽默通俗易懂的方式能接受吗?
是否喜欢这种方式 (单选)
0人
0%
还可以
0人
0%
这个作者特别烂
0人
0%
很喜欢
投票
来一波福利
作者帅照
工作日常