第76p,單繼承與多繼承,多繼承的問題

2020-12-25 騰訊網

大家好,我是楊數Tos,這是《從零基礎到大神》系列課程的第76篇文章,第三階段的課程:Python進階知識:類與對象(七);面向對象編程3大特性之繼承。

一、什麼是繼承

繼承是一種新建子類的方式,新的子類會遺傳父類的一些特性,即父類中有的東西,子類中都能使用;

類是為解決對象之間內容重複的問題,繼承是為解決類之間內容重複的問題;

在Python中支持多繼承和單繼承;新定義一個類,如果沒有任何繼承任何父類,則會默認繼承基類objetc;

二、繼承的實現

在Python中實現繼承非常簡單,定義一個新類的時候添加父類名為參數即可,單繼承添加一個父類名,多繼承則添加兩個或多個父類名;如:class類名(父類1,父類2)。

三、單繼承下的屬性查找

單繼承下的屬性查找過程很容易理解:對象==>類==>父類==>祖父類……==>基類;找到最後如果基類中沒有,返回錯誤信息。

關於多繼承:

在Python中多繼承雖然很方便,但也有很多缺點;如果用法不對會很容易發生邏輯錯誤,一般情況下不建議使用多繼承。

多繼承用得不好很容易引發「菱形問題」。

下一篇文章會講述多繼承的「菱形問題」,並解決「菱形問題」帶來的麻煩。

以上是本期內容,如果有表達不對的內容,歡迎您的留言、斧正,我們一起天天向上。

感謝您的閱讀,您的三連【關注、點讚、收藏】就是對我最大的支持,謝謝!

本文由楊數Tos原創,歡迎關注,帶你一起長知識。

推 薦 內 容

相關焦點

  • 第78p,解決多繼承的「菱形問題」
    大家好,我是楊數Tos,這是《從零基礎到大神》系列課程的第78篇文章,第三階段的課程:Python進階知識:類與對象(九);解決多繼承的「菱形問題」。一、如何解決多繼承的問題首先,一般情況下不建議使用多繼承;因為這樣不僅會使代碼可讀性變差,也很容易產生多繼承的深度優先與廣度優先問題;假設:當一個子類有多個父類時,如果所有父類中都有變量X,而且父類的父類(祖父類)中也有變量X;那Python解釋器在讀取變量X的值時,是取父類A的值好還是取父類
  • c++虛繼承,多繼承
    理解這兩個重要的C++特性後解決這個問題就比較輕鬆了。下面我們詳解這幾條輸出語句。多重繼承本身並沒有問題,不過大多數系統的類層次往往有一個公共的基類,而這樣的結構如果使用多重繼承,稍有不慎,將會出現一個嚴重現象————菱形繼承,這樣的繼承方式會使得類的訪問結構非常複雜。但並非不可處理,可以用virtual繼承(並非唯一的方法)從哲學上來說,C++多重繼承必須要存在,這個世界本來就不是單根的。從實際用途上來說,多重繼承不是必需的。
  • c++是如何實現多繼承帶來的多態問題?
    有虛函數的類才能叫多態類型的類,可以從探索虛函數是如何實現動態綁定的來了解如何實現多繼承中的多態。單繼承時虛函數動態綁定的實現原理每個類各有一個虛表(虛函數表),虛表的內容是由編譯器安排的。c++語言並沒有規定虛函數表的內容。
  • 多人繼承的房產怎麼賣,繼承順序是怎樣的?
    導讀:如果親人去世後名下有一套房產,但由於沒有寫遺囑,按照繼承法規定就會是法定繼承人繼承,然而法定繼承通常是多人繼承的,一旦房產由多人繼承的話,房子的產權就不僅僅屬於某一個人,那麼這個房子該如何賣呢?房子的繼承順序又是怎樣的?
  • Java 8 默認方法和多繼承
    以前經常談論的Java對比c++的一個優勢是Java中沒有多繼承的問題。
  • 西安繼承律師|繼承案件爭議焦點問題分析
    繼承糾紛是我們日常生活中常見糾紛類型,也關乎我們每個人的切身利益,合理妥善解決繼承糾紛有利於化解家庭矛盾,維護家庭的和諧穩定。本期文章樂思律師帶您分析繼承糾紛爭議焦點問題。撫恤金是被繼承人死亡後,被繼承人的近親屬因此獲取的相應撫慰性補償,不屬於被繼承人生前所擁有的個人財產。喪葬費屬於第三方基於被繼承人死亡後支付的安葬費用,該費用不屬於被繼承人的生前財產,一般將其用於被繼承人死亡後相關善後事宜的處理。
  • Python多繼承、super與MRO算法
    任何面向對象程式語言都會支持繼承,Python也不例外。但Python語言卻是少數幾個支持多繼承的面向對象程式語言(另一個著名的支持多繼承的程式語言是C++)。本文將深入闡述Python多繼承中經常用到的super,並且會展示一個你所不知道的super。相信繼承的概念大家一定不會陌生。
  • 20多人繼承!麗江古城一大院房產繼承,引發家族矛盾……
    這不,古城裡的這個四合大院,就出現了20多位繼承人,並因房產繼承的問題,引發了整個家族的矛盾。 一張房契,20多個繼承人 古城,麗江的心臟,整個城市最繁華最熱鬧的地方。這裡的房價用寸土寸金來形容並不為過。
  • Java之接口之間的多繼承
    各位小夥伴們大家好,這次小編要介紹的是Java當中,接口的多繼承。具體如下:1.類與類之間是單繼承的,直接父類只有一個。2.類與接口之間是多實現的,一個類可以實現多個接口。3.接口與接口之間是多繼承的。注意事項:1.多個父接口之間的抽象方法可以重複。
  • 遺產繼承的流程
    隨著個人擁有的財產及財產種類越來越多,繼承人和被繼承人身份及身份關係的多樣化,加上跨國跨境、稅收、法律因素等因素的影響,遺產繼承的程序也越來越複雜。《中華人民共和國繼承法》第二條規定,繼承從被繼承人死亡時開始,但遺產繼承的安排或執行可以在生前就由當事人來自主決定。
  • 民法典子女繼承遺產有何變化 房產繼承多子女如何分配
    近日,網上流傳的一條不實消息稱「2020年起獨生子女將無法繼承父母房產」。儘管已經闢謠,但人們對於獨生子女繼承問題的關注熱度卻仍舊未減。在廣大的80後、90後群體中,有不少人是獨生子女,繼承父輩全部遺產在許多人看來理所當然、毫無懸念,真的是這樣嗎?
  • 遺產繼承順序與遺產繼承比例是什麼樣的
    通常,繼承順序的問題僅在法定繼承中提及。因為只有在法定繼承中,繼承人才沒有安排財產。那麼,你知道我們國家的繼承順序是什麼嗎?齊家律師將在下面給你詳細解答。一.遺產繼承的繼承順序是什麼?繼承開始後,它由一階繼承者繼承,而二階繼承者不繼承。如果沒有第一順序繼承者的繼承,它將由第二順序繼承者繼承。最後,是確定每個繼承人的份額。根據繼承法的規定,繼承人在同一順序中的份額一般應相等。在分配遺產時,應該照顧那些生活中特殊困難缺乏工作能力的繼承人。當繼承人與被繼承人一起生活並進到撫養義務的,履行繼承權時,遺產可以多分。
  • 法定繼承、遺囑繼承和遺贈同時存在,哪種繼承方式優先?
    導讀:從實務判例來看,在遺產繼承中,有可能同時存在遺贈撫養協議、遺囑繼承和法定繼承等多種繼承,當多種繼承方式同時存在時,應當優先適用哪一種?下面筆者就通過一則相關的實務案例進行分析解讀。
  • 涉外繼承相關法律問題
    問題:A的丈夫B在美國去世,得到一筆賠償金,B在中國的父親C要求繼承該筆賠償金。 該筆賠償金應如何分配?涉外繼承的管轄問題在我國,對於涉外繼承案件實行專屬管轄。根據我國民事訴訟法第33條第3款的規定,因繼承遺產糾紛提起的訴訟,由被繼承人死亡時住所地或者主要遺產所在地人民法院管轄。
  • 什麼是法定繼承,法定繼承的繼承順序是什麼?
    當老人去世之後,就會產生遺產繼承問題。那麼,什麼是法定繼承,法定繼承的繼承順序是什麼?網友諮詢:什麼是法定繼承,法定繼承的繼承順序是什麼?北京市盈科(廣州)律師事務所範虹霞律師解答:法定繼承是指在被繼承人沒有對其遺產的處理立有遺囑的情況下,由法律直接規定繼承人的範圍、繼承順序、遺產分配的原則的一種繼承形式。
  • 子女怎樣按遺囑繼承房產,遺囑繼承與法定繼承哪個效力更大
    而根據我國《繼承法》第十六條規定,遺囑繼承是指公民可以依照本法規定立遺囑處分個人財產;公民可以立遺囑將個人財產指定由法定繼承人的一人或者數人繼承。公民可以立遺囑將個人財產贈給國家、集體或法定繼承人以外的人。
  • 遺囑繼承與法定繼承哪個效力更大,子女怎樣按遺囑繼承房產
    這裡需要說明的是,將於2007年10月1日實施的物權法第二十九條規定因繼承或者受遺贈取得物權的,自繼承或者受遺贈開始時發生效力。上述案例如果是發生在物權法實施以後,那就不發生轉繼承的問題,因為自甲死亡開始,乙就對這套取得所有權。三天後,乙死亡,又是一個繼承關係。
  • HTML+CSS:掌握css的繼承以及代碼的優先級問題
    上邊文章我們說了使用css的三種不同的選擇器,本篇文章我們主要介紹css的繼承規則以及css代碼的權重優先級問題。(1)css的繼承規則CSS的某些樣式代碼是具有繼承性的,那麼究竟什麼是繼承呢?繼承是一種規則,它允許樣式不僅應用於某個特定html標籤元素,而且應用於其後代。比如下面代碼:我們設置p標籤的字體顏色為紅色並添加1像素的紅色邊框。在網頁中的顯示效果就如下圖所示:從上邊的圖片你可以看出字體顏色為紅色不僅使p標籤中的文字變成了紅色,還應用於p標籤中的所有子元素文本,這裡子元素為span標籤。
  • 關於遺產的繼承順序與繼承時間,法律是如何規定的?
    長期以來,許多家庭中都會涉及遺產問題,而遺產糾紛也是民事糾紛中較為常見的一種糾紛類型。引起糾紛的原因一般包括遺產繼承的順序糾紛、以及遺產的分配比例等問題。那麼對於這些問題法律一般都是如何規定的呢?首先是遺產繼承順序的問題,在一般情形下,遺產都會按照法定法定繼承順序進行,但當事人通過遺囑進行其他規定的除外。對於遺產繼承順序,我們需參照《中華人民共和國繼承法》第十條之規定——遺產應按照下列遺產繼承順序進行:(1)配偶、子女、父母;(2)兄弟姐妹、祖父母、外祖父母。在繼承開始後,遺產由第一順序繼承人繼承,第二順序繼承人不繼承。
  • 遺產繼承,繼承的遺產是否屬於夫妻共同財產
    繼承法第13條對法定繼承的遺產分配原則做了明確規定,我們應從以下兩個方面來理解:1、同一順序繼承人繼承遺產的份額一般應均等。這是法定繼承中遺產分配的一般原則,即同一順序的法定繼承人應該平均分配遺產。該法條中的「一般」是指法律沒有特別規定的情況。