一、首先了解一下物件導向的基本概念
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 物件 抽象類實現 抽象...