Kotlin支持面向对象编程(OOP)以及函数式编程。 面向对象编程基于对象和类。 Kotlin还支持OOP语言的支柱,如:封装,继承和多态。
Kotlin类与Java类基本类似,类是具有共同属性的对象的蓝图。 Kotlin类使用关键字class
声明。 Kotlin类有一个类头,它指定了它的类型参数,构造函数等,以及由花括号包围的类体。
Kotlin类声明的语法
class className{ // class header // property // member function }
在上面的示例中,class className
是一个空构造函数。 它由编译器自动生成,但如果想提供构造函数,需要编写一个构造函数关键字,后跟类名:
class className constructor(){ // class header // property // member function }
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 } }
Account
类有三个属性acc_no
,name
,amount
和三个成员函数:deposit()
,withdraw()
,checkBalance()
。
在Kotlin中,属性必须初始化或声明为抽象。 在上面的类中,属性acc_no
初始化为0
,name
为null
,amount
为0f
。
对象是实时实体,或者可以是具有状态和行为的逻辑实体。 它具有以下特点:
对象用于访问类的属性和成员函数。 Kotlin允许创建一个类的多个对象。
Kotlin对象分两步创建,第一步是创建引用,然后创建一个对象。
var obj1 = className()
创建多个对象 -
var obj1 = className() var obj2 = className()
这里obj1
和obj2
是引用,className()
是一个对象。
类的属性和成员函数可以通过.
运算符访问对象。 例如:
obj.deopsit() obj.name = Ajax
下面创建一个使用.
运算符来访问类属性和成员函数的示例。
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}") // 访问类属性 }
执行上面示例代码,得到以下结果 -
账号: 832345 ,账户名 :Maxsu,总金额 :1000.0 Maxsu