Python中的繼承

2021-08-31 13:59:16 字數 1561 閱讀 5740

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...