|
面向对象的介绍
面向过程编程最易被初学者接受,其往往用一长段代码来实现指定功能,开发过程的思路是将数据与函数按照执行的逻辑顺序组织在一起,数据与函数分开考虑。
定义类:

类名 的命名规则按照"大驼峰命名法"; info 是一个实例方法,第一个参数一般是self,表示实例对象本身,当然了可以将self换为其它的名字,其作用是一个变量 这个变量指向了实例对象?
创建对象:
python中,可以根据已经定义的类去创建出一个或多个对象。

?添加和获取对象的属性

?在方法内通过self获取对象属性

?魔法方法__init__
Python 的类里提供的,两个下划线开始,两个下划线结束的方法,就是魔法方法,__init__()就是一个魔法方法,通常用来做属性初始化 或 赋值 操作(作用)。

有参数的__init__()方法
通过一个类,可以创建多个对象,就好比 通过一个模具创建多个实体一样
?魔法方法:__del__()方法
说明:
1). 创建对象后,python解释器默认调用__init__()方法;
2). 当删除对象时,python解释器也会默认调用一个方法,这个方法为__del__()方法
?
魔法方法:__del__()方法
总结:
1). 当有变量保存了一个对象的引用时,此对象的引用计数就会加1;
2). 当使用del() 删除变量指向的对象时,则会减少对象的引用计数。如果对象的引用计数不为1,那么会让这个对象的引用计数减1,当对象的引用计数为0的时候,则对象才会被真正删除(内存被回收)

?作业:

?继承:
继承介绍以及单继承
?程序中的继承 在程序中,继承描述的是多个类之间的所属关系。 如果一个类A里面的属性和方法可以复用,则可以通过继承的方式,传递到类B里。 那么类A就是基类,也叫做父类;类B就是派生类,也叫做子类。?

?单继承:子类只继承一个父类

?单继承:
说明:
虽然子类没有定义__init__方法初始化属性,也没有定义实例方法,但是父类有。所以只要创建子类的对象,就默认执行了那个继承过来的__init__方法
总结: 子类在继承的时候,在定义类时,小括号()中为父类的名字 父类的属性、方法,会被继承给子类
多继承:子类继承多个父类

?多继承 ?
说明: 多继承可以继承多个父类,也继承了所有父类的属性和方法 注意:如果多个父类中有同名的 属性和方法,则默认使用第一个父类的属性和方法(根据类的魔法属性mro的顺序来查找)
多个父类中,不重名的属性和方法,不会有任何影响。

?子类调用父类同名属性和方法

?多层继承:

调用父类方法super()

?
|