📜  Kotlin 类和对象

📅  最后修改于: 2022-05-13 01:55:29.937000             🧑  作者: Mango

Kotlin 类和对象

Kotlin 支持函数式和面向对象的编程。在之前的文章中,我们了解了将 Kotlin 表示为函数式语言的函数、高阶函数和 lambda。在这里,我们将了解将 Kotlin 表示为面向对象的编程语言的基本 OOP 概念。

面向对象的编程语言

类和对象是面向对象编程语言的基本概念。这些支持 OOP 的继承、抽象等概念。

班级

与Java一样,类是具有相似属性的对象的蓝图。我们需要在创建对象之前定义一个类, class关键字用于定义一个类。类声明由用大括号括起来的类名、类头和类体组成。

类声明的语法:

class className {      // class header
   // property
   // member function
}
  • 类名:每个类都有一个特定的名称
  • 类头:头由类的参数和构造函数组成
  • 类体:用大括号括起来,包含成员函数和其他属性

标题和类主体都是可选的;如果大括号之间没有任何内容,则可以省略类主体。

class emptyClass

如果我们想提供一个构造函数,我们需要在类名之后写一个关键字构造函数

创建构造函数:

class className constructor(parameters) {    
   // property
   // member function
}

Kotlin 类的示例:

Kotlin
class employee {
    // properties
    var name: String = ""
    var age: Int = 0
    var gender: Char = 'M'
    var salary: Double = 0.toDouble()
    
      // member functions
       fun name(){
 
    }
    fun age() {
 
    }
    fun salary(){
 
    }
}


Kotlin
class employee {
   
      // Constructor Declaration of Class
 
    var name: String = ""
    var age: Int = 0
    var gender: Char = 'M'
    var salary: Double = 0.toDouble()
 
    fun insertValues(n: String, a: Int, g: Char, s: Double) {
        name = n
        age = a
        gender = g
        salary = s
        println("Name of the employee: $name")
        println("Age of the employee: $age")
        println("Gender: $gender")
        println("Salary of the employee: $salary")
    }
     
    fun insertName(n: String) {
        this.name = n
    }
 
}
fun main(args: Array) {
    // creating multiple objects
    var obj = employee()
     
    // object 2 of class employee
    var obj2 = employee()
 
    //accessing the member function
    obj.insertValues("Praveen", 50, 'M', 500000.00)
 
    // accessing the member function
    obj2.insertName("Aliena")
 
    // accessing the name property of class
    println("Name of the new employee: ${obj2.name}")
 
}


目的

它是面向对象编程的基本单元,代表现实生活中的实体,这些实体具有状态和行为。对象用于访问类的属性和成员函数。在 Kotlin 中,我们可以创建一个类的多个对象。一个对象包括:

  • 状态:它由对象的属性表示。它还反映了对象的属性。
  • 行为:它由对象的方法表示。它还反映了一个对象对其他对象的响应。
  • 身份:它为一个对象赋予一个唯一的名称,并使一个对象能够与其他对象交互。

创建一个对象

我们可以使用类的引用创建一个对象。

var obj = className()

访问类的属性:

我们可以使用对象访问类的属性。首先,使用类引用创建一个对象,然后访问该属性。

obj.nameOfProperty

访问类的成员函数:

我们可以使用对象访问类的成员函数。

obj.funtionName(parameters)

Kotlin 创建多个对象并访问类的属性和成员函数的程序:

科特林

class employee {
   
      // Constructor Declaration of Class
 
    var name: String = ""
    var age: Int = 0
    var gender: Char = 'M'
    var salary: Double = 0.toDouble()
 
    fun insertValues(n: String, a: Int, g: Char, s: Double) {
        name = n
        age = a
        gender = g
        salary = s
        println("Name of the employee: $name")
        println("Age of the employee: $age")
        println("Gender: $gender")
        println("Salary of the employee: $salary")
    }
     
    fun insertName(n: String) {
        this.name = n
    }
 
}
fun main(args: Array) {
    // creating multiple objects
    var obj = employee()
     
    // object 2 of class employee
    var obj2 = employee()
 
    //accessing the member function
    obj.insertValues("Praveen", 50, 'M', 500000.00)
 
    // accessing the member function
    obj2.insertName("Aliena")
 
    // accessing the name property of class
    println("Name of the new employee: ${obj2.name}")
 
}

输出:

Name of the employee: Praveen
Age of the employee: 50
Gender: M
Salary of the employee: 500000.0
Name of the new employee: Aliena