1. 程式人生 > >繼承介紹以及單繼承

繼承介紹以及單繼承

st2 style 執行 gte 一個 def pan 作用 code

1.繼承的概念

現實生活中,繼承一般指的是子女繼承父輩的財產。

在程序中,繼承描述的是事物之間的所屬關系,例如貓和狗都屬於動物,程序中便可以描述為貓和狗繼承自動物;同理,波斯貓和巴黎貓都繼承自貓,而沙皮狗和斑點狗都繼承狗。

2.繼承示例

#定義一個父類,如下:
class Cat(object):
    def _init_(self,name,color="白色"):
        self.name = name
        self.color = color
    def run(self):
        print("%s --在跑"
%self.name) #定義一個子類:繼承Cat類如下: class Bosi(Cat): def setNewName(self,newName): self.name = newName def eat(self): print("%s--在吃"%self.name) bs = Bosi(“印度貓”) print(“bs的名字為:%s”%bs.name) print("bs的顏色為:%s"%bs.color) bs.eat() bs.setNewName("波斯") bs.run()

說明:

*雖然子類,沒有定義 _init_方法,但是父類有,所以在子類繼承父類的時候這個方法就被繼承了,所以只要創建Bosi的對象,就默認執行了那個繼承過來的 _init_ 方法

總結:

*子類在繼承的時候,在定義類時,小括號()中為父類的名字

*父類的屬性、方法,會被繼承給子類

註意點:

class Animal(object):
    def _init_(self,name = 動物,color = 白色)
        self._name = name
        self.color = color
    def _test(self):
        print(self._name)
        print(self.color)
     def test(self):
        print
(self._name) print(self.color) class Dog(Animal): def dogTest(self): #print(self._name) #不能訪問到父類的私有屬性 print(self.color) def deoTest2(self): #self._test() #不能訪問父類中的私有方法 self.test() A = Animal() #print(A._name) #程序出現異常,不能訪問私有屬性 print(A.color) #A._test() #程序出現異常,不能訪問私有方法 A.test() print("-----分割線-------") D = Dog(name = "小花狗",color = "黃色") D.dogTest1() D.dogTest2()

* 私有的屬性,不能通過對象直接訪問,但是可以通過方法訪問

* 私有的方法,不能通過對象直接訪問

* 私有的屬性、方法,不會被子類基礎,也不能被訪問

* 一般情況下,私有的屬性、方法都是不對外公布的,往往用來做內部的事情,起到安全的作用。

繼承介紹以及單繼承