6.1.1定义类
函数定义用def;类定义用class;成员变量和方法;实例方法定义一个参数self【约定俗成的】;
__init__()成为构造方法,用来构造该类的对象,python通过调用构造方法返回该类的对象。
构造方法是类创建对象的根本途径
6.1.2对象的产生和使用
6.1.2对象的添加和删除
下图看不懂;;;;;
6.1.4没看;有点复杂
6.2.1方法
这样进行比较好;见下图;
6.2.2类方法和静态方法
书上给的代码也有问题啊;
class Bird:
#类方法
def fly(cls):
print("类方法fly:",cls)
#静态方法
def info(p):
print("静态方法info:",p)
Bird.fly()
Bird.info('crazy')
b = Bird()
b.fly()
b.info('fkit')
这两个先不学习了;看不懂;
6.3成员变量
class Hello:
a = 1
b = 2
def info(self):
print(Hello.a)
print(Hello.b)
print(Hello.a)
print('-----')
data = Hello()
data.info()
print('-----')
Hello.a = 3
Hello.b = 4
data.info()
print('-----')
6.3.2使用property函数定义属性
看不懂上图所示内容
6.4隐藏和封装
封装:将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象的内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问。也就是将该隐藏的隐藏,该暴露的暴露
6.5类的继承
6.5.2多继承;最好不要使用;而是使用单继承;
可以看到上图1和图2的结果不一样,关键在于class Mouse(H2,H1)中的H1和H2的顺序
6.5.3重写父类的方法
也就是子类重写父类的方法
6.5.4使用未绑定方法调用被重写的方法
6.5.5使用super函数调用父类的构造方法
这些小环节 没看懂
6.7多态
当同一个变量在调用同一个方法时,完全可能会呈现出多种行为。也就是多态。
没学习
6.8.1枚举类型入门
实例有限并且固定的类,称为枚举类
6.8.2枚举的构造器
在定义枚举实例时必须为构造器参数设置值
不懂===!!!