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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

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

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

文章目錄

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



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



定義類 :


① 定義類 : 定義類的關鍵字是 class ;

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


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

執行結果 :

Rect width : 10 , height : 8

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



定義類 :


① 定義類 : 定義類的關鍵字是 class ;

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


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

執行結果 :

student name : Tom , age : 18

III . 類方法定義



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

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

執行結果 :

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

IV . 封裝



封裝作用 : 隱藏對象內部的屬性和方法實現的細節 , 僅對外公開公共接口 ;


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



V . 繼承



1 . 父類 : open 關鍵字使用 :


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

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


/*** 定義父類** open 關鍵字作用 : 打開繼承 , 只有打開了該類 , 才能有類繼承該類* 允許方法重寫 , 只有 open 的函數 , 才能被子類重寫*/ 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() {//創建子類對象var son = Son();//調用子類對象繼承的父類的方法son.name();//調用子類對象重寫的父類方法son.say(); }

4 . 執行結果 :

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

VI . 多態 與 抽象類



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

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

2 . 實現類 1 :

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

3 . 實現類 2 :

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

4 . 多態引入 : Man 和 Women 調用 say 方法 , 執行的不同的操作 , 就是多態的體現 ;

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。