ass cat(object):
# def __init__(self, name = '動物',color = "白色"):
# self.name = name
# self.color = color
# def test(self):
# print(self.__name)
# print(self.color)
# # def run(self):
# # print("%s————在跑步"%self.name)
# class bosi(cat):
# def setnewname(self,newname):
# self.name = newname
# def eat(self):
# print("%s__在吃"%self.name)
## b = bosi("印度貓")
# print('b的名字是:%s'%b.name)
# print("b的顏色是%s"%b.color)
# b.eat()
# b.setnewname('波斯')
# b.run()
class animal(object):
def __init__(self, name = '動物',color = "白色"):
self.name = name
self.color = color
def test(self):
print(self.__name)
print(self.color)
# def run(self):
# print("%s————在跑步"%self.name)
class dog(animal):
def dogtest1(self):
print(self.__name)
def dogtest2(self):
self._test()
# a = animal()
# # print(a.__name)
# a.test()
print("分割線")
d = dog(name = "小花狗",color = "黃色")
d.dogtest1()
d.dogtest2()
說明:
雖然子類沒有定義__init__方法,但是父類有,所以在子類繼承父類的時候這個方法就被繼承了,所以只要建立bosi的物件,就預設執行了那個繼承過來的__init__方法
總結1、子類在繼承的時候,在定義類時,小括號()中為父類的名字
2、父類的屬性、方法,會被繼承給子類
1、私有的屬性,不能通過物件直接訪問,但是可以通過方法訪問
2、私有的方法,不能通過物件直接訪問
3、私有的屬性、方法,不會被子類繼承,也不能被訪問
4、一般情況下,私有的屬性、方法都是不對外公布的,往往用來做內部的事情,起到安全的作用
python中的繼承
一.繼承,多繼承 子類繼承父類 為父類進行擴充套件 mro method resolution order 方法解析順序 python 2 1.使用經典類 寫繼承關係的時候,基類不繼承object 2.新式類 繼承關係的根,是object python 3 只有新式類 二.經典類的mro 經典類的m...
Python中的多繼承
python和c 一樣,支援多繼承。概念雖然容易,但是困難的工作是如果子類呼叫乙個自身沒有定義的屬性,它是按照何種順序去到父類尋找呢,尤其是眾多父類中有多個都包含該同名屬性。class p1 object deffoo self print p1 foo class p2 object deffoo...
python 中類的繼承
python 中的類可以繼承父類這是眾所周知的。突然發現遇到乙個問題,如果父類和子類都含有某個方法,是採用什麼掉用方式呢,我想的是會呼叫之類方法,如果不存在,則呼叫父類方法。python 應該滿足該就近原則。還是動手驗證下記得清楚,儲存檔案為test.py class parent object d...