日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

Kotlin類對(duì)象class初始化與使用_Android

作者:go2coding ? 更新時(shí)間: 2023-01-02 編程語(yǔ)言

只要是面向?qū)ο蟮木幊陶Z(yǔ)言,基本上都有類Class的用法,只是好不好用,好不好記而已,面向?qū)ο笫?code>c++開(kāi)始引入的,但是c++ 關(guān)于類的東西,弄的太復(fù)雜,其實(shí)在真正的項(xiàng)目中,很少用到非常多復(fù)雜的概念。

Kotlin 是一種追求簡(jiǎn)潔的語(yǔ)言,在類上也下了不少功夫,放棄了很多c++ 中類非常復(fù)雜的概念,其實(shí)對(duì)于類可以這樣來(lái)理解,為了復(fù)用的方便性和完整性,我們把變量和函數(shù)組合在一起,形成了類的概念。

類的初始化和使用

Kotlin 中類的定義也是非常的簡(jiǎn)單的,沒(méi)有太多的概念需要說(shuō)明,對(duì)于類的定義更多的其實(shí)可以參考函數(shù)和變量。

class AutoMobile(name:String) {
    init {
       println(name)
    }
    fun Driver(){
        println("前驅(qū)")
    }
}

我們用class 定義了一個(gè) AutoMobile 的類,這個(gè)類可以接受一個(gè)參數(shù) name,類初始化的時(shí)候是從 init 開(kāi)始的。

對(duì)比與c++的語(yǔ)言,Kotlin 完成一個(gè)類是非常簡(jiǎn)單的,對(duì)于需要簡(jiǎn)單使用類的編程人員,是不需要了解 c++ 的構(gòu)造函數(shù),析構(gòu)函數(shù),就能完成一個(gè)類的編寫(xiě)。

我們可以這樣的使用他。

        var auto:AutoMobile = AutoMobile("大眾")
        auto.Driver()

像調(diào)用一個(gè)函數(shù)一樣,我們初始化了 auto:AutoMobile ,帶了一個(gè)name的參數(shù)。也許 c++ 顧忌得太多,才是類的用法變得非常的復(fù)雜。這里不需要public的聲明,因?yàn)槟J(rèn)都是公開(kāi)的,在寫(xiě)項(xiàng)目的時(shí)候,除非有一些特別的函數(shù)或者變量不讓人知道以后,大部分的情況都是公開(kāi)的。

我一直都覺(jué)得,屬性獲取方法與設(shè)置方法 那是非常奇怪的一種編程方式,每次看到c# 或者 java代碼中,一大堆 getxxxx(),setxxxx(),覺(jué)得都大可不必,這種編程方式只會(huì)耗盡程序員的心血,換不回來(lái)程序的可讀性和穩(wěn)定性。

繼承

就有類有了這個(gè)繼承的作用,才出現(xiàn)了這么多的設(shè)計(jì)模式,也可以說(shuō),它降低了程序設(shè)計(jì)的復(fù)雜度。但是類的繼承,其實(shí)用好了,不是那么的簡(jiǎn)單。

我們定義了一個(gè)Car的類,繼承了AutoMobile

class Car(name:String):AutoMobile(name) {
    init {
        println(name)
    }
}

被繼承的,也繼承了他的參數(shù),這點(diǎn)確實(shí)有點(diǎn)意思,可以少寫(xiě)很多代碼。AutoMobile代表的是基類,需要在前面聲明一個(gè)關(guān)鍵字open`。

當(dāng)然 Kotlin 抽象類,關(guān)鍵字為abstract 和接口關(guān)鍵字為interface ,這里就不做詳談。

小結(jié)

面向?qū)ο蟮木幊陶Z(yǔ)言,就是有了對(duì)象,才是得大工程,大項(xiàng)目的組織方式變得越來(lái)越簡(jiǎn)單,使用好類可以設(shè)計(jì)出很好的代碼框架,當(dāng)然類的使用看起來(lái)簡(jiǎn)單,真正的要做好,做好框架并不是那么簡(jiǎn)單的。

原文鏈接:https://blog.csdn.net/weixin_40425640/article/details/127846019

欄目分類
最近更新