Kotlin 함수 확장
1.확장 함수 의 정의 형식
fun functionType.functionName(params){
함수 체
}
functiontype:함수 의 대상 을 확장 하려 면 함수 의 수신 자 를 표시 합 니 다.
functionName:확장 함수 의 이름
params:확장 함수 의 인자
class Animation(var name: String)
/**
* : ,
*/
fun Animation.Print() {
println(" :${name}")
println(" ")
}
fun main(args: Array) {
var animation = Animation("Kotlin")
animation.Print()
}
:Kotlin
2.동반 대상 의 확장
만약 하나의 클래스 정의 에 반생 대상 이 있다 면,당신 도 반생 대상 에 확장 함수 와 속성 을 정의 할 수 있 습 니 다.
반생 대상 은'클래스 이름'형식 으로 반생 대상 을 호출 하고 반생 대상 성명 의 확장 함 수 는 클래스 이름 한정 부호 로 호출 합 니 다.
class MyClass {
companion object {}
}
fun MyClass.Companion.foo() {
println(" ")
}
val MyClass.Companion.no: Int //
get() = 100
fun main(args: Array) {
println("no:${MyClass.no}")
MyClass.foo()
}
no:100
속성 에 대한 확장 이 있 습 니 다:
Kotlin , , , getter 、setter , val
3.한 종류의 내부 에서 다른 종류의 성명 으로 확장 할 수 있 습 니 다.
***
*
* , ,
*
*
*/
class P {
fun bar() {
println("P bar")
}
}
class O {
fun baz() {
println("O baz")
}
// O P , , O , P
fun P.foo() {
bar() //
baz()
}
fun caller(p: P) {
p.foo() //
}
}
fun main(args: Array) {
val p: P = P()
val o: O = O()
o.caller(p)
}
P bar
O baz
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.