Python學習篇 之 如何實現多態機制


Python中沒有重載的概念,所以其類的構造函數只能有一個。
那么當遇到需要重載的情況時,Python是如何實現此類功能的呢?
   
A : 首先需要了解一下為什么需要提供函數重載:
     函數重載主要為了解決兩個問題
     <1> 可變參數類型
     <2> 可變參數個數
B :為了解決上述兩個問題,Python以如下兩條特性進行了處理
     特性一:在Python中,類型屬於對象,變量是沒有類型的。所有,Python中函數的參數沒有類型,這就決定了對同一個參數,可以傳入不同類型的值。
     特性二:Python為函數提供了缺省參數,如下:
class Book:
    def __init__(self,x=-1,y=-1):
        self.x = x;
        self.y = y;

def printBook(book):
    print('x : ' + str(book.x));
    print('y :' + str(book.y));
book1 = Book()
printBook(book1)

book2 = Book(1)
printBook(book2)

book3 = Book(1,2)
printBook(book3)

輸出結果為:
x : -1
y :-1
x : 1
y :-1
x : 1
y :2


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com 联系我们: