python王者-第12章类别-面向对象程序设计
👩💻 类–面向对象的程序设计
12-1:类的定义与使用
类的定义
python
Copy
class Classname():
statement1
…
statementn
类名称的第一个字母必须大写。
12-1-1:定义类
类是面向对象编程的核心构建块,用于封装数据和功能。
12-1-2:操作类的属性与方法
访问类的属性:object.类的属性
调用类的方法:object.类的方法()
12-1-3:类的构造函数
构造函数(constructor)是初始化对象的方法。
初始化方法的固定名称为__init__(),两个底线字符。
12-1-4:属性初始值的设定
在__init__()方法内设定属性的初始值。
12-2:类的访问权限–封装(encapsulation)
封装(encapsulation)
封装是指类外无法直接更改类内的私有属性,类外也无法直接调用私有方法。
12-2-1:私有属性
为确保类内属性的安全,限制外部访问类内属性值。
12-2-2:私有方法
私有方法声明与私有属性相同,在方法前加上两个底线符号__。
12-3:类的继承
基类与衍生类
python
Copy
class BaseClassName():
# 基类内容
class DerivedClassName(BaseClassName):
# 衍生类内容
12-3-1:衍生类继承基类的实例应用
衍生类可以继承基类的属性和方法。
12-3-2:如何取得基类的私有属性
通过提供公共方法或使用属性访问器。
12-3-3:衍生类与基类有相同名称的属性
如果衍生类与基类的属性同名,衍生类的属性会覆盖基类的属性。
12-3-4:衍生类与基类有相同名称的方法
衍生类可以定义与基类同名的方法,称为方法重写。
12-3-5:衍生类引用基类的方法
使用super()函数引用基类的方法。
12-3-6:三代同堂的类与取得基类的属性
python
Copy
super().init() # 将父类的属性复制
12-3-7:兄弟类属性的取得
兄弟类可以通过公共父类来访问彼此的属性和方法。
12-4:多型(polymorphism)
多型的概念
基类与衍生类可以有相同的方法名称。
多型的概念不局限于父子关系的类别。
12-5:多重继承
多重继承的定义
python
Copy
class 类别名称(父类别1, 父类别2, … , 父类别n):
# 类别内容
12-6:type与instance
12-6-1:type()
使用type()函数查看对象的类型。
12-6-2:isinstance()
python
Copy
isinstance(对象, 类) # 返回True或False
12-7:特殊属性
12-7-1:文档字符串__doc__
使用__doc__特殊属性列出类的文档注释。
12-7-2:__name__属性
python
Copy
if name == ‘main’:
doSomething()
12-8:类的特殊方法
12-8-1:str()方法
返回用户友好的字符串表示。
12-8-2:repr()方法
返回官方字符串表示,适合调试。
12-8-3:iter()方法
使对象可迭代。