11.1 面向对象概述
万物皆对象,对零基础的人来说,太抽象。目前我的最狭义的理解,在python里,最简单的像数字1,或只要是有名字的,如你创建的变量,如a = 1,你都可以dir(1),dir(a)来看到它是有内容(属性,方法)的
11.2 面向对象三个基本特性
封装性,继承性和多态性,只要看基础课都会讲到的,相信你已经听吐了
11.3 类和对象
11.3.1 定义类
这样创建类
class 类名([父类]):
类体
类里面有属性,有方法和成员变量
方法有实例方法,类方法和静态方法
反正我看了不知道几遍了,还是有点糊涂,实例方法好理解。类方法和静态方法很像,作者也没说什么情况下使用这两个。感觉重点在这几句:
- 类方法,属于类,不属于实例的方法
- 静态方法,不与实例和类绑定,没有指定self和cls
不过似乎不是重点。。现在不懂也没关系
构造方法,另称魔法方法,初始化。如__init__,__str__,前后两个下划线。我们暂时这么理解,就是给实例一个初始化的属性
11.4 封装性
私有方法和私有变量,就是在类里面的函数或变量,在前面加两个下划线,外面就访问不了,只能在类里面调用
11.5 继承性
直接举个例子:
class God():
name = 'Dog'
class Dog(God): => 在括号里写上想继承的父类名字
age = 999
p = Dog()
print(p.name) => Dog就继承了上帝的名字
========result========
Dog
11.6 多态性
就是说,当子类的方法名字和父类的方法名字一样时,用的是子类自己的方法。