用三個例項說明python類多型和過載。
用三個例項說明python類多型和過載。
#coding:utf-8
"""
本程式碼寫在2013-1-7日下午4:00
先前寫的程式碼有誤,重新寫一個。
由sina微博"python愛好者所寫",提供"python培訓_python從零基礎到網頁採集和web開發培訓"
http://www.qy7788.com.cn/shiyongxinxi/shiyongxinxi161.html
用三個例項說明python類多型和過載。
同一個類中相同函式名,不同引數或引數個數實現過載。
python子類中重寫父類中的方式,就覆蓋了父類的方法。
python也可以實現多型,但過載不支援。
注意覆蓋父類的__init__方法有2種呼叫方式
"""
class MyClass(object):
def __init__(self,name,address,telelphone,text):
"""self.name = "黃老師"
self.address = "北京市海淀區永定路東街乙六號東輕賓館206室"
self.telephone = "010-68165761"
"""
self.name = name
self.address = address
self.telelphone = telelphone
self.text = text
def print_test(self,name):
print self.name
def print_test(self,address):
print self.address
def print_test(self,telelphone):
print self.telelphone
def print_test(self,text):
print self.text
name = "黃老師"
address = "北京市海淀區永定路東街乙六號東輕賓館206室"
telephone = "010-68165761 qq:1465376564"
text = "python培訓_python從零基礎到網頁採集和web開發培訓"
mytest =MyClass(name,address,telephone,text)
mytest.print_test(name)
mytest.print_test(address)
mytest.print_test(telephone)
mytest.print_test(text)
#python實現多型例項一,注意覆蓋父類的__init__方法有2種呼叫方式
class AA(object):
def __init__(self):
pass
def get(self):
d=5
return d
class BB(AA):
def __init__(self):
AA.__init__(self)
def get(self):
d=3
return d
class DD(AA):
def __init__(self):
AA.__init__(self)
def get(self):
d=4
return d
def getNum(cc):
print cc.get()
first = AA()
second = BB()
third = DD()
getNum(first)
getNum(second)
getNum(third)
#python實現多型例項二
class Animal(object):
def __init__(self):
pass
def Eat(self):
pass
class Chicken(Animal):
def __init__(self):
super(Chicken, self).__init__()
def Eat(self):
print 'the chicken has been eat'
class Dog(Animal):
def __init__(self):
super(Dog, self).__init__()
def Eat(self):
print 'the dog has been eat'
#實現一個呼叫的方法,這裡也用類來實現吧
class Person(object):
"""
只需要通過引數來確定呼叫哪個方法。這只是python實現多型的一種.
"""
def __init__(self,name):
self.name = name
def Feed(self, ped):
ped.Eat()
Kobe = Person('Kobe')#給呼叫者取個名字吧
pedChicken = Chicken()#建立一個小雞寵物
pedDog = Dog()#建立一個小狗寵物
Kobe.Feed(pedChicken)#Feed方法根據傳入的引數不同呼叫
Kobe.Feed(pedDog)
#coding:utf-8
"""
本程式碼寫在2013-1-7日下午4:00
先前寫的程式碼有誤,重新寫一個。
由sina微博"python愛好者所寫",提供"python培訓_python從零基礎到網頁採集和web開發培訓"
http://www.qy7788.com.cn/shiyongxinxi/shiyongxinxi161.html
用三個例項說明python類多型和過載。
同一個類中相同函式名,不同引數或引數個數實現過載。
python子類中重寫父類中的方式,就覆蓋了父類的方法。
python也可以實現多型,但過載不支援。
注意覆蓋父類的__init__方法有2種呼叫方式
"""
class MyClass(object):
def __init__(self,name,address,telelphone,text):
"""self.name = "黃老師"
self.address = "北京市海淀區永定路東街乙六號東輕賓館206室"
self.telephone = "010-68165761"
"""
self.name = name
self.address = address
self.telelphone = telelphone
self.text = text
def print_test(self,name):
print self.name
def print_test(self,address):
print self.address
def print_test(self,telelphone):
print self.telelphone
def print_test(self,text):
print self.text
name = "黃老師"
address = "北京市海淀區永定路東街乙六號東輕賓館206室"
telephone = "010-68165761 qq:1465376564"
text = "python培訓_python從零基礎到網頁採集和web開發培訓"
mytest =MyClass(name,address,telephone,text)
mytest.print_test(name)
mytest.print_test(address)
mytest.print_test(telephone)
mytest.print_test(text)
#python實現多型例項一,注意覆蓋父類的__init__方法有2種呼叫方式
class AA(object):
def __init__(self):
pass
def get(self):
d=5
return d
class BB(AA):
def __init__(self):
AA.__init__(self)
def get(self):
d=3
return d
class DD(AA):
def __init__(self):
AA.__init__(self)
def get(self):
d=4
return d
def getNum(cc):
print cc.get()
first = AA()
second = BB()
third = DD()
getNum(first)
getNum(second)
getNum(third)
#python實現多型例項二
class Animal(object):
def __init__(self):
pass
def Eat(self):
pass
class Chicken(Animal):
def __init__(self):
super(Chicken, self).__init__()
def Eat(self):
print 'the chicken has been eat'
class Dog(Animal):
def __init__(self):
super(Dog, self).__init__()
def Eat(self):
print 'the dog has been eat'
#實現一個呼叫的方法,這裡也用類來實現吧
class Person(object):
"""
只需要通過引數來確定呼叫哪個方法。這只是python實現多型的一種.
"""
def __init__(self,name):
self.name = name
def Feed(self, ped):
ped.Eat()
Kobe = Person('Kobe')#給呼叫者取個名字吧
pedChicken = Chicken()#建立一個小雞寵物
pedDog = Dog()#建立一個小狗寵物
Kobe.Feed(pedChicken)#Feed方法根據傳入的引數不同呼叫
Kobe.Feed(pedDog)
相關文章
- java多型抽象類例項Java多型抽象
- python 類和例項Python
- Python中類建立和例項化過程Python
- java多型-優化上個例項Java多型優化
- Python學習:類和例項Python
- java多型例項Java多型
- 以例項說明 OAuth2OAuth
- 選擇介面還是抽象類?---應用例項說明介面與抽象類的應用場合(區別)抽象
- 類和例項
- 批註:多型例項多型
- 【轉載】UEditor前端配置項說明前端
- python幾個應用例項Python
- Redis應用配置項說明Redis
- 說一下泛型原理,並舉例說明泛型
- python中類的建立和例項化Python
- C++11運算子過載詳解與向量類過載例項(<<,>>,+,-,*等)C++
- hyperion模組分類說明及下載
- [轉載] python複數型別-Python 複數屬性和方法操作例項Python型別
- 反NP監視原理並有例項說明
- 多型和抽象類多型抽象
- docker redis 多個例項DockerRedis
- oracle 各資料型別dump說明(三)Oracle資料型別
- 淺析 Python 的類、繼承和多型Python繼承多型
- 透過video的timeupdate事件檢測影片無法播放例項說明IDE事件
- 11G通過邏輯standby滾動升級例項說明及注意
- Mongoose使用population建立關係連結例項說明Go
- Python 動態新增例項屬性,例項方法,類屬性,類方法Python
- ASIHTTPRequest類庫簡介和使用說明HTTP
- ruby中的類例項變數和例項的例項變數變數
- 零基礎學習 Python 之細說類屬性 & 例項Python
- 多個mapreduce連線例項
- 基礎python5個例項運用Python
- Python物件導向多型實現原理及程式碼例項Python物件多型
- objective-c 通過類名例項化類Object
- 初學Python過程中,例項方法和類方法的區別是什麼?Python
- 100多個經典常用的jQuery外掛大全例項演示和下載jQuery
- 100多個經典常用的網站模板大全例項演示和下載網站
- 再談多型--多型的應用舉例: (轉)多型