0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

簡述類的繼承

jf_78858299 ? 來源:算法與編程之美 ? 作者:編程之美 ? 2023-02-17 15:00 ? 次閱讀

類的繼承:一個類繼承另一個類,自動擁有這個類的屬性和方法,類似于包含與被包含的關(guān)系。被繼承的類稱為父類--子類則是繼承父類的類。一個父類可以有多個子類;一個子類可以有多個父類(多繼承)

問題

創(chuàng)建子類時,要是直接進行調(diào)用,系統(tǒng)會報錯,必須對子類進行實例化。那要如何對子類進行實例化呢?

方法

首先先創(chuàng)造父類,將其屬性定義,然后創(chuàng)建多個子類(格式子類(父類)),接著對子類實例化,在對子類實例化時也要將屬性補充完整。

代碼清單

錯誤示范:

#父類:將所有類的公共屬性和方法進行統(tǒng)一定義

class Dad():

def init (self,greet,demandmoney):

print('老爸我沒生活費了!')

self.greet=greet

self.demandmoney=demandmoney

def f(self):

print('{}今天你很帥,{}'.format(self.greet,self.demandmoney))

def ff(ff):

print('我沒錢耍朋友了')

#子類(父類):可繼承父類所有屬性

class Girl(Dad):

pass #mean do nothing 但是仍然擁有父類的屬性和方法

class Son(Dad):

pass #mean do nothing

a=Girl()

a.ff()

a.f()

運行結(jié)果:Traceback (most recent call last):

File "D:/123456/圖片456.py", line 16, in

a=Girl()

TypeError: Dad. init () missing 2 required positional arguments: 'greet' and 'demandmoney'

正確代碼:

#父類:將所有類的公共屬性和方法進行統(tǒng)一定義

class Dad():

def init (self,greet,demandmoney):

print('老爸我沒生活費了!')

self.greet=greet

self.demandmoney=demandmoney

def f(self):

print('{}今天你很帥,{}'.format(self.greet,self.demandmoney))

def ff(ff):

print('我沒錢耍朋友了')

#子類(父類):可繼承父類所有屬性

class Girl(Dad):

pass #mean do nothing 但是仍然擁有父類的屬性和方法

class Son(Dad):

def son(self):#子類可以擁有自己的屬性與方法

print('老爸我想多一點生活費')

#a=Girl()

#a.ff()

#a.f()

#創(chuàng)建對象(將子類進行實類化)

a=Girl('老爸早上好',1500)

a.ff()

a.f()

b=Son('老爸早上好',2000)

b.ff()

b.f()

b.son()

打印結(jié)果 :老爸我沒生活費了!

我沒錢耍朋友了

老爸早上好今天你很帥,1500

老爸我沒生活費了!

我沒錢耍朋友了

老爸早上好今天你很帥,2000

老爸我想多一點生活費

結(jié)語

通過此次實驗,我們更加了解了類的繼承,以及要對子類實例化,對其實例化時也要將屬性補充完整。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3521

    瀏覽量

    93270
  • 繼承
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    2680
收藏 人收藏

    評論

    相關(guān)推薦

    關(guān)于Java繼承的問題

    在Java中,繼承是面向?qū)ο缶幊讨械囊粋€重要概念,它允許一個(稱為子類或派生繼承另一個(稱為父
    的頭像 發(fā)表于 09-30 10:48 ?470次閱讀

    Python多重繼承使用方法

    繼承是面向?qū)ο缶幊痰囊粋€重要方式,通過繼承,子類可以擴展父的功能,Python也具有該特性,除此之外,Python還可以使用多重繼承。語法:class subClass(Base1,
    發(fā)表于 04-19 14:41

    C++ 多繼承 虛基分享

    /details/1027495131.多繼承派生有多個基或者虛基,同一個不能多次作為某個派生
    發(fā)表于 07-02 06:54

    淺析多繼承派生中的虛基

    繼承派生與基有何關(guān)系?多繼承派生與虛基有何關(guān)系?
    發(fā)表于 09-30 06:26

    python繼承

    python繼承繼承,跟人類繁衍的關(guān)系相似。被繼承稱為基
    發(fā)表于 03-08 16:40

    什么是繼承?

    什么是繼承?繼承是子類利用父中定義的方法和變量就像它們屬于子類本身一樣. class Car {   int color_number;&n
    發(fā)表于 04-28 14:26 ?707次閱讀

    Java繼承與派生

    對于面向?qū)ο蟮某绦蛟O(shè)計語言來說,毫無疑問是其最重要的基礎(chǔ)。抽象、封裝、繼承、多態(tài)這四大特性都離不開,只有存在,才能體現(xiàn)面向?qū)ο缶幊痰奶攸c,今天我們就來了解一些
    發(fā)表于 09-27 10:55 ?0次下載
    Java<b class='flag-5'>類</b>的<b class='flag-5'>繼承</b>與派生

    Java繼承怎么寫

    繼承與合成基本概念 繼承:可以基于已經(jīng)存在的構(gòu)造一個新。繼承已經(jīng)存在的就可以復(fù)用這些
    發(fā)表于 09-27 13:00 ?0次下載
    Java<b class='flag-5'>繼承</b>怎么寫

    構(gòu)造函數(shù)()繼承的方式與實驗

    繼承:利用構(gòu)造函數(shù)()繼承的方式 : JS是沒有的概念的 , 把JS中的構(gòu)造函數(shù)看做
    發(fā)表于 11-24 15:26 ?612次閱讀

    Android溫習(xí)之路之繼承

    java語言當中的繼承只能單繼承。單繼承:一個只能有一個父,可以理解為一個兒子只能有一個父親。多繼承
    發(fā)表于 11-27 16:56 ?1043次閱讀
    Android溫習(xí)之路之<b class='flag-5'>繼承</b>

    C++中繼承訪問級別學(xué)習(xí)總結(jié)(二)

    上一篇文章我們介紹了c++中繼承學(xué)習(xí)總結(jié);今天我們繼續(xù)來分享c++中繼承中的訪問級別的學(xué)習(xí)總結(jié)。一、繼承中的訪問級別學(xué)習(xí):1、子類是
    的頭像 發(fā)表于 12-24 16:10 ?650次閱讀

    python繼承詳解

    python繼承 繼承,跟人類繁衍的關(guān)系相似。 被繼承稱為基
    的頭像 發(fā)表于 03-08 16:40 ?3009次閱讀

    SystemVerilog中的繼承

    繼承是基于的面向?qū)ο缶幊?object-oriented pro - gramming)的最重要特性之一。
    的頭像 發(fā)表于 11-15 09:47 ?856次閱讀

    Python中繼承的基本規(guī)則

    繼承規(guī)則 與其他基于的語言一樣,可以通過繼承組合多個定義。 定義可以擴展(或繼承)多個其他
    的頭像 發(fā)表于 09-20 14:24 ?427次閱讀

    java子類可以繼承的什么

    Java是一種面向?qū)ο蟮木幊陶Z言,它支持繼承的概念。繼承是面向?qū)ο缶幊痰娜筇匦灾唬试S一個(稱為子類或派生繼承另一個
    的頭像 發(fā)表于 08-20 11:02 ?219次閱讀