1.繼承是一種新建類的方式,新建的類稱爲子類,被繼承的類稱爲父類,也成爲了基類 2.繼承的子類能直接使用父類已經存在的方法和屬性 3.繼承是類與類之間的關係
繼承的一方能夠直接使用被繼承一方已經有的東西 其目的是爲了重用已經有的代碼,提升重用性 使用繼承能夠減小代碼的冗餘
```python
class 類名稱(父類的名稱):
類的內容python
class Parent1: pass class Parent2: pass class Sub1(Parent1, Parent2): pass print(Sub1.__bases__) print(Parent1.__bases__)
繼承描述的是子類與父類之間的關係,是一種什麼是什麼的關係。要找出這種關係,必須先抽象再繼承,抽象即抽取相似或者說比較像的部分。編程
抽象只是分析和設計的過程當中,一個動做或者說一種技巧,經過抽象能夠獲得類編程語言
抽象最主要的做用是劃分類別(能夠隔離關注點,下降複雜度)設計
多個對象比比較像的部分抽取成類; 多個類比較像的部分抽取成父類。
基於抽象的結果,經過編程語言去實現它,確定是先經歷抽象這個過程,才能經過繼承的方式去表達出抽象的結構。
繼承了object的類以及該類的子類,都是新式類 Python3中全部的類都是新式類
沒有繼承object的類以及該類的子類,都是經典類 只有Python2中才有經典類
class Person: def __init__(self, name, age, gender): self.name = name self.age = age self.gender = gender def say_hi(self): print("name:%s,gender:%s,age:%s" % (self.name,self.gender,self.age)) class Teacher(Person): def teaching(self): print("老師教學生,寫代碼....") t1 = Teacher("jack","male",20) t1.say_hi() class Student(Person): pass stu1 = Student("rose","female",18) stu1.say_hi()
對象是特徵與功能的集合體
對象查找屬性的順序:對象本身-》對象的類-》父類-》父類。。。=》objectcode
列子:對象
class A: text = "haha" class B(A): text = "heihei" pass b = B() b.text = "xixi" print(b.text)