>>>
了解什么是面向对象
掌握如何定义和使用类
掌握如何创建类的属性
掌握继承的基本语法
掌握方法的重写
掌握如何在派生类中调用基类的__init__()方法
10.1 面向对旬概述
看名字它是注重对象的。
当解决一个问题的时候,面向对象会把事物抽象成对象的概念,
就是说这个问题里面有哪些对象,然后给对象赋一些属性和方法,
然后让每个对象去执行自己的方法,问题得到解决。
10.1.1 对象
# Object: 对象是事物存在的实体
10.1.2 类
# 类是封装对象的属性和载体
10.1.3 面向对象程序设计的特点
a, 封装
# 将对象的属性和行为封装起来,而做到这些的便是类。
b, 继承
# 子类的实例,都是父类的实例
c, 多态
# 子类继承父类的特点,实现不同的效果,这就是多态化结构
10.2.1 定义类
class ClassNmae:
''' 类的帮助信息 ''' # 帮助信息
statement # 类体
10.2.2 创建类的实例
ClassName(parameter) # 这个参数同函数一般,可选
# 最终用参数的是__init()__方法
10.2.3 创建__init__()方法
同java的构造方法一样,创建时,调用这个方法
def __init__(self,parameter): # 后面那个可选
block
10.2.4 创建类的成员并访问
a, 创建实例方法并访问
同__init()__方法一致,不过要调用时才调用
b, 创建数据成员并访问
正常的书写方式
10.2.5 访问限制
加“_”,是保护类型的成员,表示,只能被类本身和子类访问,不能被导入
加“__”是指私有类型的成员,表示,只能被类定义的方法使用
10.3 属性(property)
10.3.1 创建用于计算的属性
在类方法前加@property, 意思是将该方法只可以作类属性使用,有点相当于java,static
10.3.2 为属性添加案例保护机制
用@property加在方法前,就转为只读属性,供内外访问,
内部访问要加"__"
外部访问不用加
10.4 继承(extends)
10.4.1 继承的基本语法
class ClassName(baseclassList): # 支持多继承,有类方法重合,就近原则
'''类的帮助信息'''
statement
10.4.2 方法重写
与java 一样的
10.4.3 派生类中调用基类的__init()__方法
supper().__init__() # 多继承时,就近原则