最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Kotlin開發(fā)中open關鍵字與類名函數(shù)名和變量名的使用方法淺析

 更新時間:2023年02月17日 10:03:08   作者:破浪會有時  
這篇文檔中,我們將解釋如何以及為什么將 open 關鍵字與類名、函數(shù)名和變量名一起使用,了解內部原理是為了幫助我們做擴展,同時也是驗證了一個人的學習能力,如果你想讓自己的職業(yè)道路更上一層樓,這些底層的東西你是必須要會的

這篇文檔中,我們將解釋如何以及為什么將 open 關鍵字與類名、函數(shù)名和變量名一起使用。

我們都知道繼承(Inheritance)是每一種面向對象編程語言的支柱。 它是一個類的屬性和特征由另一個類派生或使用的過程。 簡單來說,如果一個名為 ClassA 的類有一些變量和函數(shù),而另一個名為 ClassB 的類繼承了 ClassA,那么 ClassB 將使用 ClassA 的變量和方法。 在這里,ClassA 稱為父類,ClassB 稱為子類。 繼承使可重用性成為可能。

1 Kotlin open 在類名中的使用

在 Kotlin 中,要從另一個類繼承一個類,可以使用以下語法:

//Base Class
open class MindOrks {
}
//Derived class
class AndroidPro : MindOrks(){
}

在上面的示例中,我們從 AndroidPro 類繼承 MindOrks 類。 因此,MindOrks 是父類,AndroidPro 是子類。

在 Kotlin 中,默認情況下所有類都是 final 的,即默認情況下它們不能被繼承。這與我們在 Java 中學到的相反。在 Java 中,我們必須明確地使類設置為 final 才行。

所以,要使一個類可以被其他類繼承,我們在這里必須用 open 關鍵字標記它,否則會報錯:type is final so can’t be inherited

2 Kotlin open 在函數(shù)名中的使用

就像類一樣,Kotlin 中的所有函數(shù)在本質上默認也都是 final 的,也就是說,當函數(shù)本質上是 final 時,我們不能 override 一個函數(shù)。

函數(shù)的 override 是在子類中重新定義基類函數(shù)的過程。所以說,在父類的對應函數(shù)前需要加關鍵字 open,與此同時,在子類中的這個函數(shù)前,我們必須使用 override 修飾符。

open class MindOrks {
    //use open keyword to allow child class to override it
    open fun courseName(){
        println("Course Name")
    }
}
class AndroidPro : MindOrks(){
    //use the override keyword to override the function
    override fun courseName() {
        println("Android for Professionals")
    }
}

這個示例中,MindOrks 父類有一個名為 courseName() 的函數(shù),并且此 MindOrks 類由 AndroidPro 類繼承。 在 AndroidPro 類中,我們重寫了 courseName() 方法并重新定義了函數(shù)的主體。

3 Kotlin open 在變量名中的使用

就像類和函數(shù)一樣,Kotlin 中的變量在本質上默認是 final 的。 因此,要在子類中 override 它,我們需要在父類中將變量設置為 open

open class MindOrks {
    //use open keyword to allow child class to override it
    open val courseId: Int = 0
    //use open keyword to allow child class to override it
    open fun courseName(){
        println("Course Name")
    }
}
class AndroidPro : MindOrks(){
    //use the override keyword to override the variable
    override val courseId: Int = 1
    //use the override keyword to override the function
    override fun courseName() {
        println("Android for Professionals")
    }
}

在上面的示例中,MindOrks 類中的 courseId 設置為 0,但在子類中,即 AndroidPro 類中,該值更改為 1。

一個簡單的總結:在 Kotlin 中,類、函數(shù)和變量在本質上都默認是 final 的,即它們不能從任何其他類繼承。 因此,為了使其可從其他類繼承,我們使用帶有類、函數(shù)和變量名的 open 關鍵字。

到此這篇關于Kotlin開發(fā)中open關鍵字與類名函數(shù)名和變量名的使用方法淺析的文章就介紹到這了,更多相關Kotlin open關鍵字內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Android原生定位服務LocationManager

    Android原生定位服務LocationManager

    這篇文章主要為大家介紹了Android原生定位服務LocationManager實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • Android recycleView的應用和點擊事件實例詳解

    Android recycleView的應用和點擊事件實例詳解

    這篇文章主要介紹了Android recycleView的應用和點擊事件實例詳解的相關資料,需要的朋友可以參考下
    2016-12-12
  • Android Studio3.6.3 當前最新版本數(shù)據(jù)庫查找與導出方法(圖文詳解)

    Android Studio3.6.3 當前最新版本數(shù)據(jù)庫查找與導出方法(圖文詳解)

    這篇文章主要介紹了Android Studio3.6.3 當前最新版本數(shù)據(jù)庫查找與導出方法,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • Android實用的代碼片段 常用代碼總結

    Android實用的代碼片段 常用代碼總結

    這篇文章主要介紹了Android實用的代碼片段 常用代碼總結,需要的朋友可以參考下
    2014-09-09
  • Android編程內存溢出與防范方法淺析

    Android編程內存溢出與防范方法淺析

    這篇文章主要介紹了Android編程內存溢出與防范方法,較為詳細的分析了Android內存溢出的常見原因與相應的防范措施,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-10-10
  • 解決java.lang.NoClassDefFoundError: android.support.v4.animation.AnimatorCompatHelper問題

    解決java.lang.NoClassDefFoundError: android.support.v4.animati

    這篇文章主要介紹了解決Android Studio出現(xiàn)java.lang.NoClassDefFoundError: android.support.v4.animation.AnimatorCompatHelper的問題,感興趣的朋友一起看看吧
    2021-08-08
  • Android Support Palette使用詳解

    Android Support Palette使用詳解

    這篇文章主要介紹了Android Support Palette使用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Kotlin擴展方法超詳細介紹

    Kotlin擴展方法超詳細介紹

    Kotlin 可以為一個不能修改的或來自第三方庫中的類編寫一個新的函數(shù)。 這個新增的函數(shù)就像那個原始類本來就有的函數(shù)一樣,可以用普通的方法調用,這種機制的函數(shù)稱為擴展函數(shù)
    2022-09-09
  • Android中Textview和圖片同行顯示(文字超出用省略號,圖片自動靠右邊)

    Android中Textview和圖片同行顯示(文字超出用省略號,圖片自動靠右邊)

    Android中Textview和圖片同行顯示,文字超出用省略號顯示,圖片自動靠右邊??吹竭@個問題本來認為是一個很正常的需求,看起來很簡單,但是做起來卻遇到了很蛋疼的問題,怎么搞的都不行,堵了很長時間,下面說一下解決的方案,希望遇到這樣問題的朋友可以使用。
    2016-12-12
  • Flutter多項選擇彈窗實現(xiàn)詳解

    Flutter多項選擇彈窗實現(xiàn)詳解

    這篇文章介紹了Flutter多項選擇彈窗實現(xiàn)詳解,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧<BR>
    2021-11-11

最新評論

巴塘县| 汕头市| 怀集县| 双辽市| 江永县| 射洪县| 三原县| 阳春市| 莱西市| 化德县| 荣成市| 云龙县| 剑川县| 义马市| 利辛县| 台安县| 黔西| 玛纳斯县| 乐业县| 衡阳市| 长沙市| 陇川县| 冷水江市| 余干县| 鹰潭市| 巴里| 出国| 彩票| 修武县| 上栗县| 天长市| 罗平县| 柏乡县| 海原县| 二手房| 班玛县| 南靖县| 荔浦县| 固阳县| 博湖县| 安泽县|