日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Kotlin】抽象类 ( 声明 | 抽象类成员 | 抽象类继承 | 抽象方法覆盖 | 抽象方法实现 )

發(fā)布時間:2025/6/17 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Kotlin】抽象类 ( 声明 | 抽象类成员 | 抽象类继承 | 抽象方法覆盖 | 抽象方法实现 ) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

        • I . 抽象類總結(jié)
        • II . 抽象類聲明
        • III . 抽象類中的 ( 正常 / 抽象 ) 的 ( 成員 / 方法 )
        • IV . 抽象類繼承
        • V . 抽象方法的覆蓋
        • VI . 抽象方法的實現(xiàn)



I . 抽象類總結(jié)



抽象類總結(jié) :

① 聲明 : 抽象類中使用 abstract 聲明 ;

② 成員 : 抽象類中既可以定義正常屬性和方法 , 又可以定義抽象的屬性和方法 ;

③ 繼承 : 抽象類可以繼承抽象類 , 抽象類也可以繼承正常類 , 正常類可以繼承抽象類 ;

④ 重寫 : 抽象類中可以使用抽象方法重寫正常方法 , 也可以進行正常的方法重寫 ;

⑤ 特征 : 抽象方法只能定義在抽象類中 , 正常類中不能有抽象方法 ;



II . 抽象類聲明



1 . 抽象類簡介 : 抽象類不能被實例化 , 在 class 關(guān)鍵字前使用 abstract 修飾 ;


① 抽象類默認 open 修飾 : 抽象類 , 默認使用 open 關(guān)鍵字修飾 , 可以直接繼承 ;

② 抽象方法默認 open 修飾 : 抽象方法 , 默認使用 open 關(guān)鍵字修飾 , 可以直接 override 重寫 ;

//使用 abstract 修飾抽象類 abstract class Student { }

III . 抽象類中的 ( 正常 / 抽象 ) 的 ( 成員 / 方法 )



0 . 抽象類內(nèi)成員總結(jié) : 抽象類中可以定義正常的成員和方法 , 也可以定義抽象的成員和方法 ;


1 . 定義正常的屬性和方法 : 抽象類中可以定義正常的 成員屬性 和 成員方法 ;


① 正常成員屬性 : 該成員屬性可以是常量 , 也可以是變量 ;

② 正常成員方法 : 正常的方法 , 定義有方法體 ; 如果函數(shù)有方法體 , 不能聲明為抽象方法 ;

abstract class Student {//抽象類中定義普通常量val name: String = "Tom"//抽象類中定義普通變量var age: Int = 18//抽象類中定義正常方法fun say(){println("姓名 : ${name} , 年齡 : ${age}")} }

3 . 定義抽象的屬性和方法 : 抽象類中可以定義抽象的 成員屬性 和 成員方法 ;


① 抽象屬性 : 被 abstract 修飾的 常量 var 或 變量 val 屬性 , 沒有初始化值 , 沒有 getter 和 setter 方法 ;

abstract class Student {//抽象類中定義抽象常量 , 沒有初始值 , 沒有 get set 方法abstract val name: String//抽象類中定義抽象變量 , 沒有初始值 , 沒有 get set 方法abstract var age: Int }

② 抽象方法 : 使用 abstract 修飾的方法 , 沒有方法體 ; 如果函數(shù)有方法體 , 不能聲明為抽象方法 ; 如果類中有抽象函數(shù) , 該類必須聲明成抽象類 ;

abstract class Student {//抽象類中定義抽象方法 , 沒有方法體abstract fun say() }

IV . 抽象類繼承



1 . 抽象類可以繼承抽象類 :

abstract class Father{ }//抽象類可以繼承抽象類 abstract class Son : Father() { }

2 . 抽象類可以繼承正常類 : 該正常類必須使用 open 修飾 ;

open class Father{ }//抽象類可以繼承正常類 , 該正常類必須使用 open 修飾 abstract class Son : Father() { }

V . 抽象方法的覆蓋



1 . 抽象方法覆蓋 : 父類的正常的方法 , 可以在子類中使用抽象方法進行覆蓋 ;


① 注意父類方法的 open 修飾符 : 抽象類中的正常方法 , 如果想要在子類中設(shè)置可以被重寫 , 需要使用 open 修飾 ;

② 抽象函數(shù)與正常函數(shù)的繼承 : 其抽象函數(shù)默認使用 open 修飾 , 可以直接重寫 , 正常函數(shù)需要使用 open 修飾才能被 override 重寫 ;


2 . 將正常函數(shù)覆蓋成抽象函數(shù) : 將 Father 類的 open 改成 abstract 也是可以的 , 覆蓋操作仍能成立 ;

//該類可以是正常類 , 也可以是抽象類 // 此處的示例是正常類 , 將 open 改成 abstract 也成立 open class Father{open fun action(){ println("Father")} }//抽象類可以繼承正常類 , 該正常類必須使用 open 修飾 abstract class Son : Father() {override abstract fun action() }

3 . 將正常函數(shù)覆蓋成正常函數(shù) : 正常函數(shù)都可以被覆蓋成抽象函數(shù) , 那么正常函數(shù)的正常覆蓋 , 也可以進行 ; 將 Father 類的 open 改成 abstract 也是可以的 , 覆蓋操作仍能成立 ;

//該類可以是正常類 , 也可以是抽象類 // 此處的示例是正常類 , 將 open 改成 abstract 也成立 open class Father{open fun action(){ println("Father")} }//抽象類可以繼承正常類 , 該正常類必須使用 open 修飾 abstract class Son : Father() {//也可以將其重寫成正常函數(shù)override fun action(){ println("Father") } }

VI . 抽象方法的實現(xiàn)



抽象方法實現(xiàn) :


① 正常類子類 : 正常的類繼承抽象類必須實現(xiàn) abstract 抽象方法 ;

abstract class Father{abstract fun action() }//正常類繼承抽象類 , 必須實現(xiàn)抽象類中的抽象方法 class Son : Father() {override fun action() {println("正常類繼承抽象類 , 必須實現(xiàn)抽象類中的抽象方法")} }

② 抽象類子類 : 如果抽象類繼承抽象類 , 可以不實現(xiàn)父累抽象方法 ;

abstract class Father{abstract fun action() }//抽象類繼承抽象類 , 可以不實現(xiàn)抽象方法 abstract class Son : Father() { }

總結(jié)

以上是生活随笔為你收集整理的【Kotlin】抽象类 ( 声明 | 抽象类成员 | 抽象类继承 | 抽象方法覆盖 | 抽象方法实现 )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。