在 Kotlin 中,我们使用类和对象来代表现实世界中的事物。类就像是一张蓝图,用于创建对象(特定的数据结构),它为状态(成员变量或字段)提供初始值,并定义行为(成员函数或方法)的实现。对象则是类的一个实例,拥有自己独特的状态和行为。我们可以基于同一个类创建多个对象,每个对象都可以拥有各自不同的状态。
下面是一个 Kotlin 中类的示例:
Kotlin
CODEBLOCK_aea553c3
输出结果:
Toyota Camry, year 2020
Kotlin 同时支持函数式编程和面向对象编程。在之前的文章中,我们已经学习了函数、高阶函数和 Lambda 表达式,这些特性展示了 Kotlin 作为一门函数式语言的一面。在这里,我们将学习基本的 OOP(面向对象编程)概念,这些概念体现了 Kotlin 作为一门面向对象编程语言的特性。
什么是面向对象编程?
面向对象编程(OOP)是一种基于“对象”概念的编程范式,对象是类的实例。这些对象包含状态(属性)和行为(函数或方法)。Kotlin 支持关键的 OOP 概念,例如:
- 类和对象
- 封装
- 继承
- 抽象
- 多态
与 Java 类似,Kotlin 中的 Class 是具有相似属性的对象的蓝图。我们需要在创建对象之前定义一个类,并且使用 class 关键字来定义类。类的声明由类名、类头以及用花括号括起来的类体组成。
类声明的语法:
class ClassName {
// 属性
// 成员函数
}
- 类名: 类的唯一名称。
- 类头:可以包含构造函数和参数。
- 类体:包含在 {} 中,包含逻辑、属性和函数。
如果类体是空的,我们可以省略花括号:
class EmptyClass
如果我们想提供一个构造函数,我们需要在类名后面紧接着写上 constructor 关键字。
Kotlin 类的示例:
Kotlin
CODEBLOCK_604ebb52
#### 使用构造函数创建类 –
在 Kotlin 中,我们可以直接在类名后面使用构造函数:
class ClassName constructor(parameters) {
// 属性
// 成员函数
}
或者,我们也可以使用如下所示的主构造函数:
class ClassName (parameters) {
// 属性
// 成员函数
}
带有构造函数的 Kotlin 类示例:
Kotlin
CODEBLOCK_eb8af0fc
Kotlin 对象
它是面向对象编程的基本单元,代表现实生活中的实体,这些实体具有状态和行为。我们使用对象来访问类的属性和成员函数。在 Kotlin 中,我们可以创建一个类的多个对象。一个对象由以下部分组成:
- 状态: 属性(例如,姓名、年龄)
- 行为: 方法/函数(例如,run(), walk())
- 标识: 用于将其与其他对象区分开的引用(变量名)
#### 创建对象
我们可以使用类的引用来创建一个对象。
var obj = className()
例如,这里我们在赋值参数的同时调用类 "Car"。
val car1 = Car("Toyota", "Camry", 2020)
访问类的属性:
我们可以使用对象来访问类的属性。首先,使用类引用创建一个对象,然后访问该属性。
obj.nameOfProperty
访问类的成员函数:
我们可以使用对象来访问类的成员函数。
obj.funtionName(parameters)
例如:
car1.getInfo()
输出:
Toyota Camry, year 2020
创建多个对象并访问类的属性和成员函数的 Kotlin 程序:
Kotlin
CODEBLOCK_728beba5