Kotlin教程:类和对象(OOP)及函数式编程

2020-04-2311:28:10编程语言入门到精通Comments2,036 views字数 1614阅读模式

Kotlin支持面向对象编程(OOP)以及函数式编程。 面向对象编程基于对象和类。 Kotlin还支持OOP语言的支柱,如:封装,继承和多态。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18295.html

Kotlin类

Kotlin类与Java类基本类似,类是具有共同属性的对象的蓝图。 Kotlin类使用关键字class声明。 Kotlin类有一个类头,它指定了它的类型参数,构造函数等,以及由花括号包围的类体。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18295.html

Kotlin类声明的语法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18295.html

class className{   // class header  
      // property  
      // member function  
}
Kotlin

在上面的示例中,class className是一个空构造函数。 它由编译器自动生成,但如果想提供构造函数,需要编写一个构造函数关键字,后跟类名:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18295.html

class className constructor(){   // class header  
      // property  
      // member function  
}
Kotlin

Kotlin类实例

class Account {
    var acc_no: Int = 0
    var name: String? = null
    var amount: Float = 0f

    fun deposit() {
        //deposite code
    }

    fun withdraw() {
        // withdraw code
    }

    fun checkBalance() {
        //balance check code
    }
}
Kotlin

Account类有三个属性acc_nonameamount和三个成员函数:deposit()withdraw()checkBalance()文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18295.html

在Kotlin中,属性必须初始化或声明为抽象。 在上面的类中,属性acc_no初始化为0namenullamount0f文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18295.html

Kotlin对象

对象是实时实体,或者可以是具有状态和行为的逻辑实体。 它具有以下特点:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18295.html

  • 状态:表示对象的值。
  • 行为:它表示对象的函数。

对象用于访问类的属性和成员函数。 Kotlin允许创建一个类的多个对象。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18295.html

创建一个对象

Kotlin对象分两步创建,第一步是创建引用,然后创建一个对象。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18295.html

var obj1 = className()
Kotlin

创建多个对象 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18295.html

var obj1 = className()  
var obj2 = className()
Kotlin

这里obj1obj2是引用,className()是一个对象。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18295.html

访问类属性和成员函数

类的属性和成员函数可以通过.运算符访问对象。 例如:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18295.html

obj.deopsit()  
obj.name = Ajax
Kotlin

下面创建一个使用.运算符来访问类属性和成员函数的示例。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18295.html

class Account {
    var acc_no: Int = 0
    var name: String =  ""
    var amount: Float = 0.toFloat()
    fun insert(ac: Int,n: String, am: Float ) {
        acc_no=ac
        name=n
        amount=am
        println("账号: ${acc_no} ,账户名 :${name},总金额 :${amount}")
    }

    fun deposit() {
        //deposite code
    }

    fun withdraw() {
        // withdraw code
    }

    fun checkBalance() {
        //balance check code
    }

}
fun main(args: Array<String>){
   // Account()
    var acc= Account()
    acc.insert(832345,"Maxsu",1000f) // 访问成员函数
    println("${acc.name}") // 访问类属性
}
Kotlin

执行上面示例代码,得到以下结果 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18295.html

账号: 832345 ,账户名 :Maxsu,总金额 :1000.0  Maxsu

//原文出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/kotlin/kotlin-class-and-object.html#article-start文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18295.html

文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/18295.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ymba/18295.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定