对象=属性(特征)+方法(行为)
类:在python中,把具有相同属性和方法的对象归为一个类(class)
self:
init()构造方法,只要实例化一个对象,这个方法就会在对象被创建时自动调用。
公有和私有
变量名“隐藏”
这只是伪私有,其实所有的类都是可以被外部调用的。
继承
需要注意,如果子类中定义与父类同名的方法或者属性,则会自动把父类覆盖掉。
继承的另一个例子
下面试试科比:
kobe没有x属性,因为在Kobe类中,重写了魔法方法init_(),但是没有初始化科比的x坐标和y坐标,因此调用move()会出错。解决方法:在kobe类中重写__init()方法的时候先调用基类Ball()的init方法。
kobe也可以成功运行:
这里需要注意的是,这个self并不是父类Ball的实例对象,而是子类Kobe的实例对象,所以说未绑定指并不需要绑定父类的实例对象,使用子类的实例对象代替即可。
不理解也没关系,因为,super函数可以代替它
super
运行之后得到:
super函数的神奇之处在于,你不需要给出任何基类的具体名字,它会自动找到所有基类以及对应的方法。
多重继承
组合
把不同的类直接放进去实例化,就叫组合:
运行 组合.py得到:
类、类对象和实例对象
实例对象会把类对象进行赋值覆盖。
本文来自企鹅号 - 我的朋友王彦祖媒体
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文来自企鹅号 - 我的朋友王彦祖媒体
如有侵权,请联系 cloudcommunity@tencent.com 删除。