diff --git a/02.面向对象/03.类的继承.md b/02.面向对象/03.类的继承.md index dd18092..a807581 100644 --- a/02.面向对象/03.类的继承.md +++ b/02.面向对象/03.类的继承.md @@ -43,7 +43,7 @@ class Dog(Aniaml): pass ``` -继承的有点也是显而易见的: +继承的优点也是显而易见的: 1. 增加了类的耦合性(耦合性不宜多,宜精)。 @@ -55,7 +55,7 @@ class Dog(Aniaml): 上面的那个例子: -- Aminal 叫做父类,基类,超类。 +- Aminal 叫做父类, 基类, 超类。 - Person Cat Dog: 子类,派生类。 继承:可以分**单继承,多继承**。 @@ -64,8 +64,8 @@ class Dog(Aniaml): 在python2x版本中存在两种类.: -- ⼀个叫**经典类**. 在python2.2之前. ⼀直使⽤的是经典类. 经典类在基类的根如果什么都不写. -- ⼀个叫**新式类**. 在python2.2之后出现了新式类. 新式类的特点是基类的根是object类。 +- ⼀个叫**经典类**. 在python2.2之前. **不显式继承 `object`类**,是 Python2 的默认类定义方式。 +- ⼀个叫**新式类**. 在python2.2之后出现了新式类, **显式继承 `object`类**(如 `class MyClass(object)`),是 Python2 引入的改进类模型。 python3x版本中只有一种类: python3中使⽤的都是**新式类**. 如果基类谁都不继承. 那这个类会默认继承 object @@ -137,35 +137,35 @@ p1.eat() ### 同时执行类以及父类方法 -方法一:如果想执行父类的func方法,这个方法并且子类中夜用,那么就在子类的方法中写上:父类.func(对象,其他参数) +方法一:如果想执行父类的func方法,这个方法并且子类中调用,那么就在子类的方法中写上:父类.func(对象,其他参数) ```python -class Aniaml(object): - type_name = '动物类' - def __init__(self,name,sex,age): - self.name = name - self.age = age - self.sex = sex + class Aniaml(object): + type_name = '动物类' + def __init__(self,name,sex,age): + self.name = name + self.age = age + self.sex = sex - def eat(self): - print('吃东西') + def eat(self): + print('吃东西') -class Person(Aniaml): - def __init__(self,name,sex,age,mind): - Aniaml.__init__(self,name,sex,age) - self.mind = mind + class Person(Aniaml): + def __init__(self,name,sex,age,mind): + Aniaml.__init__(self,name,sex,age) + self.mind = mind - def eat(self): - Aniaml.eat(111) - print('%s 吃饭'%self.name) -class Cat(Aniaml): - pass + def eat(self): + Aniaml.eat(111) + print('%s 吃饭'%self.name) + class Cat(Aniaml): + pass -class Dog(Aniaml): - pass + class Dog(Aniaml): + pass -p1 = Person('张三','男',18,'想吃东西') -p1.eat() + p1 = Person('张三','男',18,'想吃东西') + p1.eat() ``` 方法二:利用super,super().func(参数) @@ -417,6 +417,4 @@ merge操作示例: = [A,B,D,C,E,F] + merge([O], [O]) = [A,B,D,C,E,F,O] -那既然python提供了. 为什么我们还要如此⿇烦的计算MRO呢? 因为笔 -试.......你在笔试的时候, 是没有电脑的. 所以这个算法要知道. 并且简单的计算要会. 正式项⽬ -开发的时候很少有⼈这么去写代码. \ No newline at end of file +那既然python提供了. 为什么我们还要如此⿇烦的计算MRO呢? 因为笔试.......你在笔试的时候, 是没有电脑的. 所以这个算法要知道. 并且简单的计算要会. 正式项⽬开发的时候很少有⼈这么去写代码. \ No newline at end of file