① python有關類繼承的問題
子類繼承父類就是在父類部分的基礎上加上一些子類擴展的屬性、方法以及重寫的父類方法。所以構造一個子類對象時要先構造它的父類部分,構造父類部分就需要調用父類的構造函數。
② Python中類繼承問題
Python新式類採用MRO演算法處理繼承關系,當調用c.say()方法時首先查找C類中是否定義了say()方法,若沒有繼續查找B類中是否定義了say()方法,找到B類中定義有say()方法,因此使用B類的say()方法。
③ python如何實現類的繼承
classyourclass(你要繼承的類名):
pass
④ Python中的繼承是什麼意思
繼承是子類復用父類的屬性和方法的機制,類的繼承是以生活中繼承為靈感設計的。
生活中繼承的例子有很多,例如,汽車的發展歷程就體現了繼承。最早汽車的輪胎都是實心的,功能少,性能差,而如今汽車的功能越來越多,性能越來越好,這是經過一代一代的發展而來的,每一代比上一代擴充了一些功能,改進了一些性能。縱觀整個汽車的發展史,每一代汽車都是在上一代汽車的特徵和行為的基礎之上,進行了設計和改良。這其中有些功能沒有改變,有些功能是新增的,也有些功能經過了改良。例如,從第一代的汽車到現在的汽車,做交通工具這一特點始終都在沿用。
生活中汽車的例子,與計算機中的繼承是非常相似的。這么一代又一代的更新是有好處的。
首先,節省了設計流程,不用閉門造車。
其次,在前一代汽車基礎之上設計,這樣原來重復的生產技術還可以復用,再設計一些新增的功能,這樣就能大大地提高生產效率。
下面介紹一個實際案例,來說明繼承的用處。
假設設計一個師生管理系統,具有學生和教師兩種用戶,需要設計兩個類,一個學生類(Student),一個教師類(Teacher)。Student類有學號、姓名、性別、年齡、用戶名、密碼等屬性,Teacher類有姓名、性別、年齡、用戶名、密碼、學歷等屬性,這兩個類中都有屬性的getter和setter方法。由此可知,這兩個類中有許多相同的屬性和方法,也就是說代碼有冗餘。為了避免這樣的情況,就可以使用繼承來優化設計。將Student類和Teacher類中相同的屬性和方法抽取出來,單獨作為一個父類,這個父類稱為用戶類(User),而Student類和Teacher類作為子類繼承父類User。Student類和Teacher類中就只放自己特有的屬性和方法即可。由於這兩個類都繼承User類,因此User類中的屬性和方法,它們可以直接使用。需要指出的是,在繼承中私有屬性和私有方法是不能被繼承的。
繼承提高了代碼的重用性,減少了代碼和數據的冗餘度。另外,如果要修改用戶名屬性,不採用繼承的情況下,兩個類的屬性都需要修改,而使用繼承後,只需要修改父類的用戶名屬性即可。由此可知,繼承使代碼的修改更加方便。
關於Python的基礎問題可以看下這個網頁的視頻教程,網頁鏈接,希望我的回答能幫到你。
⑤ python類的繼承!!誰能用通俗的方法,給小弟講一下,類的繼承!!
一個通用的例子是:
已經有一個類,叫做鳥
其有飛的方法/函數
然後你另外實現了一個 麻雀的 類
如果沒有類的繼承
那麼你就要:
先去實現 飛的方法
然後再單獨實現 麻雀 所具體的其他方法(和屬性)
而此類似於 飛 的這個方法,很明顯,是各種鳥都具有的,通用的方法
所以,為了避免,每一個其他的,某個鳥,都去分別實現一遍這樣的方法
所以,弄了個基類,即基本的類,主要的類
其實現一些大家所共有的,通用的東西
包括很多方法 很多屬性
然後其他子類
集成了此基類後
就不用再啰嗦地,重復地,去重新實現一遍那些基本的方法和屬性了。
只需要實現自己的類本身的特有的東西 就可以了。
不知道你看懂沒。
感興趣的,去看我總結的:
【整理】面向對象的基礎知識:類Class,對象(Object),實例(Instance)
(此處不給貼地址,只能靠你自己用google搜帖子標題,就可以找到帖子的地址了)
⑥ python 繼承與類屬性的使用
題主的注釋是沒有問題的。
子類繼承父類後,會自動繼承了父類的屬性。如果在子類中修改了繼承得來的類屬性時(即B.count=200),並不會修改父類的對應的同名類屬性(A.count)。以後只要是通過子類訪問該屬性,訪問的都是子類的屬性。
通過父類修改了父類屬性後,子類訪問該屬性時,會訪問父類修改後的屬性值。當然前提是子類沒有對該屬性重新賦值過。
⑦ python中的類怎麼繼承
#-*- coding:utf-8 -*-class Animal(object):
"""docstring for Animal"""
def __init__(self, name):
self.name = name def run(self):
print 'Animal is running...'class Dog(Animal):
"""docstring for Dog"""
def __init__(self,name):
# super(Dog, self).__init__(name)
Animal.__init__(self,name) def printName(self):
print 'Name: %s' % self.name
kk=Dog("kity")
kk.printName()
kk.run()
⑧ python2.7類的繼承
python的類里的方法一般都可以通過實例.方法的方式調用,
也可以通過方法(實例)的方式調用,所以一般是可以調的。但我只是說可以調用,沒有說是派生之類的關系。
⑨ python 類的繼承
可能你有C++的基礎吧,C++確實可以不用帶上this。
我把你的代碼稍微改了一下,你可以分別看看cls1.n、cls2.n、self.n的輸出。
class cls1:
n=3
class cls2(cls1):
def __init__(self,cls1=cls1):
cls2.n += 1
self.n += 2
print 'cls1.n:%s'%cls1.n
print 'cls2.n:%s'%cls2.n
print 'self.n:%s'%self.n
cls2()
print 'cls1.n:%s'%cls1.n
可以看出兩個類和一個對象都可以在這里調用它們的n屬性,如果只敲一個n別人讀你的代碼時就比較容易產生岐義,雖然少打了5個字元,但是不符合簡單明確的pythonic哲學。
當然你也可以就認為python語法規則就是這么規定的。
⑩ python屬性可以繼承嗎繼承
python屬性可以繼承,但是不支持私有繼承。
繼承是面向對象的重要特徵之一,繼承是兩個類或者多個類之間的父子關系,子進程繼承了父進程的所有公有實例變數和方法。繼承實現了代碼的重用。重用已經存在的數據和行為,減少代碼的重新編寫,python在類名後用一對圓括弧表示繼承關系, 括弧中的類表示父類,如果父類定義了__init__方法,則子類必須顯示地調用父類的__init__方法,如果子類需要擴展父類的行為,可以添加__init__方法的參數。