python的继承用法_python中继承有什么用法?python继承的用法详解
本篇文章給大家帶來的內容是關于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.soundlittlebird = 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中继承有什么用法?python继承的用法详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 袁亚湘院士谈如何做好研究生:要逼着自己去
- 下一篇: 学python开发必须要会wsgi么_p