從零開始學Kotlin 擴充套件函式 10

2022-07-09 10:03:14 字數 2057 閱讀 5776

//擴充套件函式定義形式:

fun receivertype.functionname(params)

class classdemo 

}fun mutablelist.swap(index: int, index1: int)

open class person

class student : person()

fun person.getinfo() ="person info"//擴充套件person類方法

fun student.getinfo() ="student info"//擴充套件student類方法

fun printmsg(person: person)

fun main()

class teacher 

}fun teacher.dowork()

fun showdowork()

fun teacher?.printmsf(): string 

fun main()

val list.lastindex: int//擴充套件乙個獲取list最後乙個索引的方法

get() = size - 1

class classdemo 

fun classdemo.companion.showmsg()

val classdemo.companion.name: string

get() = "伴生物件的擴充套件屬性"

}

//1、在包名.demop10下建立乙個類 classdemo11

package com.siberiadante.kotlinforandroid.kotlin.demop10

class classdemo11

//2、新建乙個 extendfunction.kt 檔案,在改檔案中建立 classdemo11 的擴充套件函式

package com.siberiadante.kotlinforandroid.kotlin.demop10

fun classdemo11.showmsg(msg: string)

//classdemo12 中使用擴充套件函式

package com.siberiadante.kotlinforandroid.kotlin

//常規匯入

import com.siberiadante.kotlinforandroid.kotlin.demop10.classdemo11

import com.siberiadante.kotlinforandroid.kotlin.demop10.showmsg

//匯入demop10下的一切

//import com.siberiadante.kotlinforandroid.kotlin.demop10.*

class classdemo12

}

class classa 

}class classb

fun classa.printmsg()

}

class classa 

}class classb

fun classa.printmsg()

}

open class classc

open class classc1 : classc()

open class classd

open fun classc1.showmsg()

fun printmsg(c: classc)

}class classd1 : classd()

override fun classc1.showmsg()

}fun main9()

從零開始學Python 函式

對於任何語言來說,函式都是必不可少的部分,對於python一樣如此。python中有非常多的內建函式,比如 求絕對值函式abs 求長度函式len 求總和函式sum 輸出字元函式input 等等,大家可以去官方 看一下官方文件,這裡我們就不再贅述了。我們來看一下在python中如何自定義函式和函式中的...

零開始學python 從零開始學Python

第1章 python入門 1 1 1 什麼是python 1 1 2 python語言有什麼特點 2 1 3 python可以幹什麼 4 練一練 5 第2章 準備開發環境 6 2 1 在windows上安裝python開發環境 6 2 2 選擇和安裝開發工具 11 練一練 17 第3章 基本概念 1...

從零開始學android

相對布局管理器指的是參考某一其他控制項進行擺放,可以通過控制,將元件擺放在乙個指定參考元件的上 下 左 右等位置,這些可以直接通過各個元件提供的屬性完成。下面介紹一下各個方法的基本使用 no.屬性名稱 對應的規則常量 描述1 android layout below relativelayout.b...