在定義乙個類時,通常需要定義一些方法來描述該類的行為特徵,但有時這些方法的實現方式是無法確定的。
因此,可以將其定義為抽象方法,抽象方法使用關鍵字 abstract 修飾,該方法沒有方法體,在使用時需要實現其方法體,當乙個類中包含了抽象方法,該類必須使用關鍵字abstract 定義為抽象類。
語法格式如下:
abstract
class animal
在定義抽象類時需要注意,包含抽象方法的類必須宣告為抽象類,但抽象類可以不包含任何抽象方法,只需使用關鍵字 abstract 來修飾即可。另外,抽象類是不可以被例項化的,因為抽象類中有可能包含抽象方法,抽象方法是沒有方法體的,不可以被呼叫。
如果想呼叫抽象類中定義的方法,則需要建立乙個子類,在子類中將抽象類中的抽象方法進行實現。
示例**如下:
如果乙個抽象類中的所有方法都是抽象的,則可以將這個類用另一種方式來定義,即介面。
介面可以說是乙個特殊的抽象類,在定義介面時,需要使用關鍵字 inte***ce 來宣告。
示例如下:
inte***ce animal
由於介面中的方法都是抽象方法,因此不能通過例項化物件的方式來呼叫介面中的方法。
此時需要定義乙個類實現介面中所有的方法。
示例**如下:
剛剛演示的是類與介面之間的實現關係,在程式中,還可以定義乙個介面,使用冒號 :去繼承另乙個介面,對上面的**進行修改。
修改後的**如下:
部落格為個人收集學習,供大家交流學習。
Kotlin抽象類和介面
一 首先了解一下物件導向的基本概念 1.本質上就是解決如何用程式描述世界的問題 2.討論如何把實際存在的東西對映成程式的類和物件 3.一種程式設計的思路 思想 方法 4.程式設計層面的概念 5.設計模式 前人的程式設計經驗 6.乙個類可以單繼承 類 多實現 介面 二 下面來看乙個例子 package...
Kotlin物件 抽象類
抽象類寫法如下 物件 抽象類 能很好的使用它進行後期 的解耦和維護 具體實現 在需要繼承實現的類去賦值的屬性前和實現的方法前面加上abstract修飾符,免去open abstract class news繼承類寫法如下 package com.init.demo.model 物件 抽象類實現 抽象...
2018 11 05 介面和抽象類
一 抽象類 抽象方法碧血用abstract關鍵字進行修飾。如果乙個類含有抽象方法,則稱這個類為抽象類,抽象類必須在類前用abstract關鍵字修飾。抽象類中沒有具體實現的方法,所以不能用抽象類建立物件。抽象類就是為了繼承而存在的,如果你定義了乙個抽象類,卻不去繼承它,那麼等於百變建立了這個抽象類,因...