很多年以前接触过面向对象编程,只是后来没有继续下去,算是跟这个东西有缘!
封装、继承、多态,面向对象编程的三大特性。
1.把具有的共同特征提炼出来,形成一个类。之后实例化类,就有了一个个对象。对象创建之时,就有了自己的空间,空间存储self 属性,使用魔法方法__dict__可以查看。类里有数据、方法。调用方法时,根据形参传参数,方法进行处理,完毕后把结果返回给调用者,至于方法的功能代码是怎么个处理过程,调用者不用管。这就是简单意义上的封装。
2.现实中,先人去世了,他的东西留给你,你就继承了。编程中,你定义一个类的时候指定继承另一个类,那么你指定的那个类就叫父类。可以继承多个父类。class X(A,B),A,B就是父类,X是A,B的子类,父类中的方法、属性,子类都继承,可以使用,但是父类私有属性和方法(双下划线开头)无法直接访问。如果父类的方法不够完美,可以在他的基础上完善(也可完全重写)。继承减少了代码的重复、冗余。
3.多态。微信、支付宝,都绑定了同一张银行的卡。无论刷微信还是刷支付宝,扣款成功后银行都会通知:你通过支付宝或微信支付了XX元,银行卡还剩多少钱。无论是刷支付宝还是微信,都买到想要的东西。如果你用了现钱,虽然买了东西,但是没通过银行卡,就跟前两个不是同一种路子了。如:
class We