這篇文章帶給大家的內容是關於python中繼承有什麼用法? python繼承的用法詳解,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
物件導向三大特徵
1.封裝:根據職責將屬性和方法封裝到一個抽象的類別中
2.繼承:實作程式碼的重複使用,相同的程式碼不需要重複的寫入
3.多型別
單繼承
繼承的概念:子類別擁有父類別的所有屬性和方法
繼承的語法
class 類別名稱(父類別):
def 子類別特有的方法
"""
"""
Cat類別是Animal類別的子類,Animal類別是Cat類別的父類,Cat從Animal類別繼承
Cat類別是Animal類別的衍生類,Animal類別是Cat類別的基類,Cat類別從Animal類別衍生
"""
1.
class Animal(object): def eat(self): print '吃' def drink(self): print '喝' def run(self): print '跑' def sleep(self): print '睡'
class Cat(Animal): # 子类拥有父类的所有属性和方法 def call(self): print '喵喵' class Dog(Animal): def bark(self): print '旺旺' class Hellokitty(Cat): def speak(self): print '我可以说日语'
# 创建一个猫对象 fentiao = Cat() fentiao.eat() fentiao.drink() fentiao.run() fentiao.sleep() fentiao.call()
2.
重寫父類別方法
1.覆寫父類別的方法
2.擴充父類別的方法
"""
class Animal: def eat(self): print '吃' def drink(self): print '喝' def run(self): print '跑' def sleep(self): print '睡'
class Cat(Animal): # 子类拥有父类的所有属性和方法 def call(self): print '喵喵'
class Hellokitty(Cat): def speak(self): print '我可以说日语' def call(self): # 针对子类特有的需求,编写代码 print '欧哈有~空你起哇' # 调用原本在父类中封装的代码 Cat.call(self) # 增加其他的子类代码 print '#!@$@!#!#' kt = Hellokitty() # 如果子类中,重写了父类的方法 # 在运行中,只会调用在子类中重写的父类的方法而不会调用父类的方法 kt.call()
3.
class Bird: def __init__(self): self.hungry = True # 鸟吃过了以后就不饿了 def eat(self): if self.hungry: print 'Aaaaahhh...' self.hungry = False else: print 'No thanks'
class SongBird(Bird): def __init__(self): self.sound = 'Squawk!' Bird.__init__(self) def sing(self): print self.sound
littlebird = SongBird() littlebird.eat() littlebird.sing()
# 4.
class A: def test(self): print 'A-----test 方法' def demo(self): print 'A-----demo 方法' class B: def test(self): print 'B------test 方法' def demo(self): print 'B-------demo方法' class C(B,A): """多继承可以让子类对象,同时具有多个父类的属性和方法""" pass
# 创建子类对象 c = C() c.test() c.demo()
相關推薦:
以上是python中繼承有什麼用法? python繼承的用法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!