面向对象开发
- 把相关的函数组合在一起形成一个对象,特征:封装,继承,多态
封装
1.一个功能封装成一个函数,目的是为了重复使用代码,方便查看代码.
继承
1.如果多的子类都需要都一个方法,那么我们会把这个方法给父类,目的,重复使用代码.
2.继承顺序根据(类.__mro__).
3.在开发中最好是先调用父类的这个方法也就是super().__init__() ,然后在添加自己的功能,保证程序的稳定.
多态
- 必须是继承的,一个函数有多种不同的显示效果(结果不一样),这个在Python中不严谨.
小试牛刀
以下的代码的输出将是什么? 说出你的答案并解释。
class Parent(object):
x = 1
class Child1(Parent):
pass
class Child2(Parent):
pass
print(Parent.x, Child1.x, Child2.x)
Child1.x = 2
print(Parent.x, Child1.x, Child2.x)
Parent.x = 3
print(Parent.x, Child1.x, Child2.x)
答案
1 1 1
1 2 1
3 2 3
第二个结果是child1中新加属性 x
第三个结果是因为child2中没有属性x 继承父类中