Kotlin - 类和对象

Kotlin - 类和对象 首页 / Kotlin入门教程 / Kotlin - 类和对象

Kotlin支持面向对象的编程(OOP)和函数式编程。面向对象的编程基于实时对象和类。 Kotlin还支持OOP语言的支柱,例如封装,继承和多态性。

Kotlin类

Kotlin class 类似于Java类,一个类是具有公共属性的对象。 kotlin类使用关键字 class 声明。 Kotlin类具有一个类头,该头指定其类型参数,构造函数等,并且类主体被花括号包围。

类声明语法

class className{  
     //属性
     //函数
}

在上图中,类className是一个空构造函数。它是由编译器自动生成的,但如果无涯教程想提供构造函数,无涯教程需要编写构造函数关键字,后跟类名称为:

无涯教程网

class className constructor(){  
     //属性
     //成员方法
}

类示例

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

    fun deposit() {
        //代码块
    }

    fun withdraw() {
      //代码块
    }

    fun checkBalance() {
        //代码块
     }

}

帐户类具有三个属性acc_no,name,amount和三个成员函数deposit(),withdraw(),checkBalance()。

在Kotlin中,必须将属性初始化或声明为抽象。在上面的类中,属性acc_no初始化为0,名称初始化为null,amount初始化为0f。

Kotlin对象

Object 是实时实体,或者可以是具有状态和行为的逻辑实体。具有以下特点:

  • state       -  它表示对象的值。
  • beavior  -  它表示对象的函数。

对象用于访问类的属性和成员函数。 Kotlin允许创建一个类的多个对象。

创建对象

Kotlin对象是以两个步骤创建的,首先是创建引用,然后创建一个对象。

var obj1 = className()

创建多个对象

链接:https://www.learnfk.comhttps://www.learnfk.com/kotlin/kotlin-class-and-object.html

来源:LearnFk无涯教程网

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

这里obj1和obj2是引用,className()是一个对象。

访问类属性和函数

让无涯教程创建一个访问类属性和函数的示例。

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("Account no: ${acc_no} holder :${name} amount :${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,"Ankit",1000f) //访问成员函数
    println("${acc.name}") //访问类属性
}

输出:

Account no: 832345 holder :Ankit amount :1000.0
Ankit

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Java核心技术面试精讲 -〔杨晓峰〕

Go语言核心36讲 -〔郝林〕

10x程序员工作法 -〔郑晔〕

苏杰的产品创新课 -〔苏杰〕

视觉笔记入门课 -〔高伟〕

容器实战高手课 -〔李程远〕

去无方向的信 -〔小麥〕

高并发系统实战课 -〔徐长龙〕

手把手带你写一个 MiniTomcat -〔郭屹〕

好记忆不如烂笔头。留下您的足迹吧 :)