python面向?qū)ο缶幊?為什么使用抽象基類在Python?
為什么使用抽象基類在Python?有時有些類型有一些共同的特點,可以抽象形成基類,但基類本身不能實例化,只有子類可以繼承并實現(xiàn)抽象方法實例化子類對象,這樣的類叫做抽象類。例如,移動電話、計算機和電視可
為什么使用抽象基類在Python?
有時有些類型有一些共同的特點,可以抽象形成基類,但基類本身不能實例化,只有子類可以繼承并實現(xiàn)抽象方法實例化子類對象,這樣的類叫做抽象類。例如,移動電話、計算機和電視可以歸類為電子設(shè)備。電子設(shè)備是抽象類,具有諸如開機、運行和關(guān)機等抽象方法。但是,不能直接新建電子設(shè)備類的對象,因為不能指定其特定的形狀、功能和其他信息。您只能從電子設(shè)備類中派生出手機、計算機和電視機,并將它們分開本文給出了不同開機、運行和關(guān)閉方法的具體實現(xiàn),然后對這些類的對象進行了新的定義。這就是多態(tài)性的體現(xiàn)。靜態(tài)語言(如C/Java)本機支持多態(tài)性,并具有抽象關(guān)鍵字,可用于定義抽象類。Python是duck類型的語言,它沒有真正的多態(tài)性,因此它沒有該語言的原生抽象類支持,只能通過第三方封裝類如ABC simulation來實現(xiàn)。對于沒有接觸過C和Java的Python學(xué)習(xí)者來說,很難理解。