日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

【Kotlin】Kotlin 面向对象 ( 类 | 成员变量 | 成员方法 | 封装 | 继承 | 多态 )

發(fā)布時間:2025/6/17 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Kotlin】Kotlin 面向对象 ( 类 | 成员变量 | 成员方法 | 封装 | 继承 | 多态 ) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

        • I . 創(chuàng)建簡單類 ( 整型字段 )
        • II . 創(chuàng)建簡單類 ( 整型字段 + 字符串字段 )
        • III . 類方法定義
        • IV . 封裝
        • V . 繼承
        • VI . 多態(tài) 與 抽象類



I . 創(chuàng)建簡單類 ( 整型字段 )



定義類 :


① 定義類 : 定義類的關(guān)鍵字是 class ;

② 定義字段 : 在類后的括號內(nèi) , 使用 var 字段名稱:字段類型 可以定義一個字段 ;


/*** 定義 Rect 類 : 定義類的關(guān)鍵字是 class** 類字段 : 該類對象有兩個屬性 , 寬 ( width ) 和 高 ( height ) , 類型都是 int**/ class Rect (var width:Int , var height : Int)/*** 函數(shù)入口*/ fun main(args:Array<String>){//創(chuàng)建矩形var rect = Rect(10, 8);//使用字符串模板打印 Rect 對象字段println("Rect width : ${rect.width} , height : ${rect.height}") }

執(zhí)行結(jié)果 :

Rect width : 10 , height : 8

II . 創(chuàng)建簡單類 ( 整型字段 + 字符串字段 )



定義類 :


① 定義類 : 定義類的關(guān)鍵字是 class ;

② 定義字段 : 在類后的括號內(nèi) , 使用 var 字段名稱:字段類型 可以定義一個字段 ;


/*** 定義學生類** 定義字段 : 其含有一個字符串字段 ,*/ class Student ( var name:String , var age:Int )fun main(args:Array<String>) {//創(chuàng)建 Student 對象var student = Student("Tom", 18)//使用字符串模板打印 Student 對象字段println("student name : ${student.name} , age : ${student.age}")}

執(zhí)行結(jié)果 :

student name : Tom , age : 18

III . 類方法定義



類方法定義 : 使用 fun 關(guān)鍵字 , 在類中定義方法 , 在該方法中可以訪問對象的成員變量 ;

/*** 定義學生類** 定義字段 : 其含有一個字符串字段 ,*/ class Student ( var name:String , var age:Int ){fun talk(){println("Student ${name} is talking")}}fun main(args:Array<String>) {//創(chuàng)建 Student 對象var student = Student("Tom", 18)//使用字符串模板打印 Student 對象字段println("student name : ${student.name} , age : ${student.age}")//調(diào)用類中的方法student.talk()}

執(zhí)行結(jié)果 :

student name : Tom , age : 18 Student Tom is talking

IV . 封裝



封裝作用 : 隱藏對象內(nèi)部的屬性和方法實現(xiàn)的細節(jié) , 僅對外公開公共接口 ;


如 : Student 類 , 封裝了 name 和 age 字段 , 和 talk 方法 ;



V . 繼承



1 . 父類 : open 關(guān)鍵字使用 :


① 打開繼承 : 只有在類前使用 open 關(guān)鍵字 , 只有打開了該類 , 才能有類繼承該類 ;

② 允許方法重寫 : 允許方法重寫 , 只有 open 的函數(shù) , 才能被子類重寫 ;


/*** 定義父類** open 關(guān)鍵字作用 : 打開繼承 , 只有打開了該類 , 才能有類繼承該類* 允許方法重寫 , 只有 open 的函數(shù) , 才能被子類重寫*/ open class Father {var familyName:String = "Trump"fun name(){println("My family name is ${familyName}")}//允許方法被重寫open fun say(){println("I'm father. family : ${familyName}")}}

2 . 子類 : 繼承類 并 重寫方法 ;

/*** 子類代碼** 繼承 : 使用 冒號 ":" , 表示繼承*/ class Son : Father() {//重寫父類方法override fun say(){println("I'm son. family : ${familyName}")} }

3 . 測試繼承 :

/*** 測試繼承*/ fun main() {//創(chuàng)建子類對象var son = Son();//調(diào)用子類對象繼承的父類的方法son.name();//調(diào)用子類對象重寫的父類方法son.say(); }

4 . 執(zhí)行結(jié)果 :

My family name is Trump I'm son. family : Trump

VI . 多態(tài) 與 抽象類



1 . 定義抽象類 : 只有抽象類中才能定義抽象方法 ( 與 Java 不同 ) ;

/*** 抽象類 : 只有抽象類中才能定義抽象方法 ( 與 Java 不同 )*/ abstract class Human ( var name:String , var age:Int ) {/*** 定義抽象方法 , 類必須是抽象類*/abstract fun say();}

2 . 實現(xiàn)類 1 :

/*** 定義 Man 類 , 繼承抽象類 Human*/ class Man(name : String, age : Int) : Human(name, age) {/*** 實現(xiàn)的 Human 抽象類 的 say 抽象方法*/override fun say() {println("Man : name : ${name} , age : ${age}")} }

3 . 實現(xiàn)類 2 :

/*** 定義 Women 類 , 繼承抽象類 Human*/ class Woman(name : String, age : Int) : Human(name, age) {/*** 實現(xiàn)的 Human 抽象類 的 say 抽象方法*/override fun say() {println("Women : name : ${name} , age : ${age}")} }

4 . 多態(tài)引入 : Man 和 Women 調(diào)用 say 方法 , 執(zhí)行的不同的操作 , 就是多態(tài)的體現(xiàn) ;

/*** 測試抽象類與多態(tài)*/ fun main() {// Man 和 Women 調(diào)用 say 方法 , 執(zhí)行的不同的操作// 這就是多態(tài)var tom = Man("Tom", 18);//Man : name : Tom , age : 18tom.say();var jerry = Woman("Jerry", 19);//Women : name : Jerry , age : 19jerry.say();}

總結(jié)

以上是生活随笔為你收集整理的【Kotlin】Kotlin 面向对象 ( 类 | 成员变量 | 成员方法 | 封装 | 继承 | 多态 )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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