编程理论:多态,继承,和开闭原则
生活随笔
收集整理的這篇文章主要介紹了
编程理论:多态,继承,和开闭原则
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#開閉原則,繼承
class Animal(object):def run(self):print('Animal is running...')
class Dog(Animal):def run(self):print('Dog is running...')
class Cat(Animal):def run(self):print('Cat is running...')
def run_twice(animal):animal.run()animal.run()
dog=Dog()
cat=Cat()
print(run_twice(dog))
print(run_twice(cat))
多態的好處就是,當我們需要傳入Dog、Cat、Tortoise……時,我們只需要接收Animal類型就可以了,因為Dog、Cat、Tortoise……都是Animal類型,然后,按照Animal類型進行操作即可。由于Animal類型有run()方法,因此,傳入的任意類型,只要是Animal類或者子類,就會自動調用實際類型的run()方法,這就是多態的意思:
對于一個變量,我們只需要知道它是Animal類型,無需確切地知道它的子類型,就可以放心地調用run()方法,而具體調用的run()方法是作用在Animal、Dog、Cat還是Tortoise對象上,由運行時該對象的確切類型決定,這就是多態真正的威力:調用方只管調用,不管細節,而當我們新增一種Animal的子類時,只要確保run()方法編寫正確,不用管原來的代碼是如何調用的。這就是著名的“開閉”原則:
對擴展開放:允許新增Animal子類;
對修改封閉:不需要修改依賴Animal類型的run_twice()等函數。
轉載于:https://www.cnblogs.com/zhizhiyin/p/9628927.html
總結
以上是生活随笔為你收集整理的编程理论:多态,继承,和开闭原则的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【WPF】右键菜单ContextMenu
- 下一篇: java数组的几种形式——java编程思