Kotlin抽象類和介面

2021-08-18 00:00:34 字數 1711 閱讀 4962

一、首先了解一下物件導向的基本概念

1.本質上就是解決如何用程式描述世界的問題

2.討論如何把實際存在的東西對映成程式的類和物件

3.一種程式設計的思路、思想、方法

4.程式設計層面的概念

5.設計模式:前人的程式設計經驗

6.乙個類可以單繼承(類)、多實現(介面)

二、下面來看乙個例子

package net.println.kotlin.chapter4

/** *@author:wangdong

*@description:介面繼承乙個介面,類實現乙個介面(叫介面的實現類)

*//**定義乙個父類的通用輸入裝置的介面*/

inte***ce inputdevice

/**定義乙個usb輸入裝置介面,繼承inputdevice*/

inte***ce usbinputdevice: inputdevice

/**定義乙個藍芽屬於裝置介面,繼承inputdevice*/

inte***ce blueinputdevice: inputdevice

/**定義乙個滑鼠,抽象類,相當於半成品*/

abstract class usbmouse(var name: string): usbinputdevice,opticalmouse

/*** returns a string representation of the object.

*/override fun tostring(): string

}/**定義乙個羅技的滑鼠類*/

class logitechmouse: usbmouse("羅技滑鼠")

/**光電功能*/

inte***ce opticalmouse

/**定義乙個電腦類*/

class computer

//新增藍芽輸入裝置

fun addblueinputdevice(inputdevice: blueinputdevice)

//定義乙個新增輸入裝置的介面

fun addinputdevice(inputdevice: inputdevice)

is usbinputdevice ->

//除了藍芽和usb,其餘不支援

else ->}}

}/**寫乙個例項來操作一下*/

fun main(args: array)

三、看一下介面和抽象類的區別

1.介面

不能有狀態

必須得由類對其進行實現和使用

介面,直觀理解就是一種約定

kotlin的介面與objiect-c 的protocol比較類似

舉例:

輸入裝置的介面

inte***ce inputdevice

2.抽象類

實現了一部分協議的半成品

可以有狀態、可以有方法的實現

必須由子類繼承後才能使用

3.抽象類和介面的共性

比較抽象,不能直接例項化

如有需要之類,去繼承抽象類,或者實現介面後使用

父類(介面)變數可以接受子類(實現類)的例項賦值

4.抽象類和介面的區別

抽象類有狀態,介面沒有狀態

抽象類有方法實現,介面只能有無狀態的預設實現

抽象類只能單繼承,介面可以多實現

抽象類反映本質,介面體現能力

Kotlin學習4 5 抽象類和介面

在定義乙個類時,通常需要定義一些方法來描述該類的行為特徵,但有時這些方法的實現方式是無法確定的。因此,可以將其定義為抽象方法,抽象方法使用關鍵字 abstract 修飾,該方法沒有方法體,在使用時需要實現其方法體,當乙個類中包含了抽象方法,該類必須使用關鍵字abstract 定義為抽象類。語法格式如...

Kotlin筆記繼承 抽象類 介面(六)

kotlin筆記資料型別 一 kotlin筆記字串 二 kotlin筆記運算子 三 kotlin筆記函式 四 kotlin筆記物件導向 五 二 抽象類 三 介面 子類的主建構函式繼承父類的主建構函式,那麼子類的次建構函式不能直接呼叫父類的建構函式 子類主構造函式呼叫父類主建構函式 定義父類 open...

Kotlin物件 抽象類

抽象類寫法如下 物件 抽象類 能很好的使用它進行後期 的解耦和維護 具體實現 在需要繼承實現的類去賦值的屬性前和實現的方法前面加上abstract修飾符,免去open abstract class news繼承類寫法如下 package com.init.demo.model 物件 抽象類實現 抽象...