欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中的單繼承與多繼承實(shí)例分析

 更新時(shí)間:2018年05月10日 10:21:37   作者:chengqiuming  
這篇文章主要介紹了Python中的單繼承與多繼承,結(jié)合實(shí)例詳細(xì)分析了Python面向?qū)ο蟪绦蛟O(shè)計(jì)中單繼承與多繼承的概念、原理、實(shí)現(xiàn)方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了Python中的單繼承與多繼承。分享給大家供大家參考,具體如下:

單繼承

一、介紹

Python 同樣支持類的繼承,如果一種語(yǔ)言不支持繼承,類就沒有什么意義。派生類的定義如下所示:

class DerivedClassName(BaseClassName1):
  <statement-1>
  .
  .
  .
  <statement-N>

需要注意圓括號(hào)中基類的順序,若是基類中有相同的方法名,而在子類使用時(shí)未指定,python從左至右搜索 即方法在子類中未找到時(shí),從左到右查找基類中是否包含方法。

BaseClassName(示例中的基類名)必須與派生類定義在一個(gè)作用域內(nèi)。
除了類,還可以用表達(dá)式,基類定義在另一個(gè)模塊中時(shí)這一點(diǎn)非常有用:

class DerivedClassName(modname.BaseClassName):

二、代碼

# -*- coding:utf-8 -*-
#! python3
class people:
  #定義基本屬性
  name =''
  age =0
  #定義私有屬性,私有屬性在類外部無(wú)法直接進(jìn)行訪問(wèn)
  __weight =0
  #定義構(gòu)造方法
  def __init__(self,n,a,w):
    self.name = n
    self.age = a
    self.__weight = w
  def speak(self):
    print("%s 說(shuō): 我 %d 歲。"%(self.name,self.age))
    #單繼承示例
class student(people):
  grade =''
  def __init__(self,n,a,w,g):
    #調(diào)用父類的構(gòu)造函數(shù),下面兩種方式都可以
    #people.__init__(self,n,a,w)
    super().__init__(n,a,w)
    self.grade = g
    #覆寫父類的方法
  def speak(self):
    print("%s 說(shuō): 我 %d 歲了,我在讀 %d 年級(jí)"%(self.name,self.age,self.grade))
s = student('ken',10,60,3)
s.speak()

三、運(yùn)行結(jié)果

ken 說(shuō): 我 10 歲了,我在讀 3 年級(jí)

多繼承

一、介紹

Python同樣有限的支持多繼承形式。多繼承的類定義形如下例:

class DerivedClassName(Base1, Base2, Base3):
  <statement-1>
  .
  .
  .
  <statement-N>

需要注意圓括號(hào)中父類的順序,若是父類中有相同的方法名,而在子類使用時(shí)未指定,python從左至右搜索 即方法在子類中未找到時(shí),從左到右查找父類中是否包含方法。

二、代碼

# -*- coding:utf-8 -*-
#! python3
#類定義
class people:
  #定義基本屬性
  name =''
  age =0
  #定義私有屬性,私有屬性在類外部無(wú)法直接進(jìn)行訪問(wèn)
  __weight =0
  #定義構(gòu)造方法
  def __init__(self,n,a,w):
    self.name = n
    self.age = a
    self.__weight = w
  def speak(self):
    print("%s 說(shuō): 我 %d 歲。"%(self.name,self.age))
#單繼承示例
class student(people):
  grade =''
  def __init__(self,n,a,w,g):
    #調(diào)用父類的構(gòu)函
    people.__init__(self,n,a,w)
    self.grade = g
  #覆寫父類的方法
  def speak(self):
    print("%s 說(shuō): 我 %d 歲了,我在讀 %d 年級(jí)"%(self.name,self.age,self.grade))
#另一個(gè)類,多重繼承之前的準(zhǔn)備
class speaker():
  topic =''
  name =''
  def __init__(self,n,t):
    self.name = n
    self.topic = t
  def speak(self):
    print("我叫 %s,我是一個(gè)演說(shuō)家,我演講的主題是 %s"%(self.name,self.topic))
#多重繼承
class sample(speaker,student):
  a =''
  def __init__(self,n,a,w,g,t):
    student.__init__(self,n,a,w,g)
    speaker.__init__(self,n,t)
test = sample("Tim",25,80,4,"Python")
test.speak()#方法名同,默認(rèn)調(diào)用的是在括號(hào)中排前地父類的方法

三、運(yùn)行結(jié)果

我叫 Tim,我是一個(gè)演說(shuō)家,我演講的主題是 Python

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Python入門教程(十四)Python的集合

    Python入門教程(十四)Python的集合

    這篇文章主要介紹了Python入門教程(十四)Python的集合,Python是一門非常強(qiáng)大好用的語(yǔ)言,也有著易上手的特性,本文為入門教程,需要的朋友可以參考下
    2023-04-04
  • Windows下安裝python2和python3多版本教程

    Windows下安裝python2和python3多版本教程

    這篇文章主要介紹下Windows(我用的Win10)環(huán)境下的python2.x 和 python3.x 的安裝,以及python2.x 與 python3.x 共存時(shí)的配置問(wèn)題。
    2017-03-03
  • python使用Tkinter顯示網(wǎng)絡(luò)圖片的方法

    python使用Tkinter顯示網(wǎng)絡(luò)圖片的方法

    這篇文章主要介紹了python使用Tkinter顯示網(wǎng)絡(luò)圖片的方法,涉及Python操作圖片的相關(guān)技巧,需要的朋友可以參考下
    2015-04-04
  • python壓包的概念及實(shí)例詳解

    python壓包的概念及實(shí)例詳解

    在本篇文章里小編給大家整理的是一篇關(guān)于python壓包的概念及實(shí)例詳解內(nèi)容,有興趣的朋友們可以參考學(xué)習(xí)下。
    2021-02-02
  • Python線程之多線程展示詳解

    Python線程之多線程展示詳解

    這篇文章主要為大家介紹了Python線程之多線程展示,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • Python格式化輸出--%s,%d,%f的代碼解析

    Python格式化輸出--%s,%d,%f的代碼解析

    這篇文章主要介紹了Python格式化輸出--%s,%d,%f的代碼詳解,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Python入門之三角函數(shù)全解【收藏】

    Python入門之三角函數(shù)全解【收藏】

    這篇文章主要介紹了Python入門之三角函數(shù)全解【收藏】,還是比較全面的,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • python導(dǎo)出requirements.txt的幾種方法以及環(huán)境配置詳細(xì)流程

    python導(dǎo)出requirements.txt的幾種方法以及環(huán)境配置詳細(xì)流程

    這篇文章主要給大家介紹了關(guān)于python導(dǎo)出requirements.txt的幾種方法以及環(huán)境配置詳細(xì)流程,requirements.txt 文件是一個(gè)文本文件,用于列出你的Python項(xiàng)目所依賴的軟件包及其版本,需要的朋友可以參考下
    2023-11-11
  • python實(shí)現(xiàn)楊氏矩陣查找

    python實(shí)現(xiàn)楊氏矩陣查找

    這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)楊氏矩陣查找,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Python fileinput模塊如何逐行讀取多個(gè)文件

    Python fileinput模塊如何逐行讀取多個(gè)文件

    這篇文章主要介紹了Python fileinput模塊如何逐行讀取多個(gè)文件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10

最新評(píng)論