1.1应用:存放家具
对象之间的传递
1.1保护对象的属性
如果有一个对象,当需要对其进行修改属性时,有2种方法
·对象名.属性名=数据---->直接修改
·对象名.方法名() ---->间接修改
为了更好的保存属性安全,即不能随意修改,一般的处理方式为
·将属性定义为私有属性
·添加一个可以调用的方法,供调用
总结
·Python中没有像C++中public和private这些关键字来区别公有属性和私有属性
·它是以属性命名方式来区分,如果在属性名前面加了2个下划线'__',则表明该属性是私有属性,否则为公有属性(方法也是一样,方法名前面加了2个下划线的话表示该方法是私有的,否则为公有的)。
1.1__del__()方法
创建对象后,python解释器默认调用__init__()方法;
当删除一个对象时,python解释器也会默认调用一个方法,这个方法为__del__()方法
1.1继承介绍以及单继承
将共性的内容放在父类中,子类只需要关注自己特有的内容
在程序中,继承描述的是事物之间的所属关系,例如猫和狗都属于动物,程序中便可以描述为猫和狗继承自动物;同理,波斯猫和巴厘猫都继承自猫,而沙皮狗和斑点狗都继承自狗,如下如所示:
说明:
·虽然子类没有定义__init__方法,但是父类有,所以在子类继承父类的时候这个方法就被继承了,所以只要创建Bosi的对象,就默认执行了那个继承过来的__init__方法
总结
·子类在继承的时候,在定义类时,小括号()中为父类的名字
·父类的属性、方法,会被继承给子类
总结
·私有的属性,不能通过对象直接访问,但是可以通过方法访问
·私有的方法,不能通过对象直接访问
·私有的属性、方法,不会被子类继承,也不能被访问
·一般情况下,私有的属性、方法都是不对外公布的,往往用来做内部的事情,起到安全的作用
多继承
继承,即子类有多个父类,并且具有它们的特征
在父类D和C中,有同一方法D。那么通过子类F调用该方法。调用的是父类D的'D'方法
在父类B和C中,有同一方法hehe。那么通过子类F调用该方法。调用到父类B中的hehe方法。
调用顺序是从左到右
1.1重写父类方法与调用父类方法
1.1.1重写父类方法
所谓重写,就是子类中,有一个和父类相同名字的方法,在子类中的方法会覆盖掉父类中同名的方法
调用父类的方法
调用父类被重写的用,两种方法都可以
1.1.1类属性
1.1.1实例属性(对象属性)
1.1.1通过实例(对象)去修改类属性
总结
·如果需要在类外修改类属性,必须通过类对象去引用然后进行修改。如果通过实例对象去引用,会产生一个同名的实例属性,这种方式修改的是实例属性,不会影响到类属性,并且之后如果通过实例对象去引用该名称的属性,实例属性会强制屏蔽掉类属性,即引用的是实例属性,除非删除了该实例属性。
�