卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

python和java的區(qū)別 python下的抽象類的用途和意義?

python下的抽象類的用途和意義?抽象類不完整,只能用作基類。它不同于非抽象類:1。抽象類不能直接實例化,對抽象類使用new運算符是編譯時錯誤。盡管某些變量和值在編譯時可以是抽象類型,但這些變量和值

python下的抽象類的用途和意義?

抽象類不完整,只能用作基類。

它不同于非抽象類:1。抽象類不能直接實例化,對抽象類使用new運算符是編譯時錯誤。

盡管某些變量和值在編譯時可以是抽象類型,但這些變量和值必須為null或包含對從抽象類派生的非抽象類實例的引用。

2. 允許(但不要求)抽象類包含抽象成員。

3. 抽象類不能被密封。

從抽象類派生非抽象類時,這些非抽象類必須具體實現所有繼承的抽象成員,以便重寫這些抽象成員。

在以下示例中:抽象類a{public abstract void f()}抽象類B:a{public void g(){}}抽象類C:B{public override void f(){//f}}抽象類a引入抽象方法f。

類B引入另一個方法g,但由于它不提供f的實現,B也必須聲明為抽象類。

C類重寫F并提供具體的實現。

由于C中沒有抽象成員,因此可以(但不是必須)將C聲明為非抽象類。

抽象類與接口密切相關。

但是接口比抽象類更抽象,主要體現在它們的區(qū)別上:1)類可以實現無限的接口,但只能繼承一個抽象類(或任何其他類型)的接口,從抽象類派生的類仍然可以實現接口,因此,接口被用來解決多重繼承的問題。

2)抽象類可以有非抽象方法,接口不能,抽象類中的方法只是一個聲明,沒有具體實現的方法必須用public修改。

3)抽象類中的成員變量可以由不同的修飾符修改,接口中的成員變量默認為靜態(tài)final。

4)這也是最重要的一點,其實質是“抽象類是對象的抽象,接口是行為規(guī)范”。

為什么使用抽象基類在Python?

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