1. 类与对象
介绍
- 类:类是对象的蓝图或模板,它定义了对象的属性和方法。
- 对象:对象是类的实例,具有类的属性和方法。
使用
// 定义一个类 class Person { var name: String = "" var age: Int = 0 // 方法 fun introduce() { println("Hello, my name is $name and I'm $age years old.") } } // 创建一个对象 val person = Person() person.name = "Alice" person.age = 30 person.introduce() // 输出:Hello, my name is Alice and I'm 30 years old. 2. 继承与构造函数
继承介绍
- 继承允许一个类(子类或派生类)继承另一个类(父类或基类)的属性和方法。
构造函数介绍
- 构造函数用于初始化对象的状态。在 Kotlin 中,主构造函数是类头的一部分,而辅助构造函数(如果有)则使用 constructor 关键字定义。
使用
// 父类 open class Animal { open fun sound() { println("The animal makes a sound") } } // 子类 class Dog : Animal() { // 继承自 Animal override fun sound() { // 重写父类方法 println("The dog barks") } init { // 初始化块,类似于构造函数中的代码 println("Dog is initializing") } // 辅助构造函数 constructor(name: String) : this() { // 调用主构造函数 println("Dog's name is $name") } } val dog = Dog("Buddy") // 输出:Dog is initializing 和 Dog's name is Buddy dog.sound() // 输出:The dog barks 3. 接口
介绍
- 接口定义了一组方法的规范,但不提供这些方法的实现。类可以实现一个或多个接口,从而承诺提供这些方法的实现。
使用
// 定义一个接口 interface Shape { fun draw() } // 实现接口的类 class Circle : Shape { override fun draw() { println("Drawing a circle") } } val shape: Shape = Circle() // 使用接口作为类型引用实现类 shape.draw() // 输出:Drawing a circle 4. 数据类
介绍
- 数据类主要用于存储数据,它们的主要目的是提供一种简洁的方式来创建只包含数据的类。Kotlin 会自动为数据类生成一些常用方法,如 equals(), hashCode(), 和 toString()。
使用
data class PersonData(val name: String, val age: Int) val personData = PersonData("Bob", 25) println(personData) // 输出:PersonData(name=Bob, age=25) 5. 单例类
介绍
- 单例类是一种设计模式,确保一个类只有一个实例,并提供一个全局访问点来访问这个实例。
使用
object Singleton { init { println("Singleton is created") } fun doSomething() { println("Singleton is doing something") } } // 访问单例对象的方法 Singleton.doSomething() // 输出:Singleton is doing something 在 Kotlin 中,使用 object 关键字可以直接声明一个单例对象。这个对象在第一次被访问时创建,并且之后所有的访问都会返回这个唯一的实例。
- 单例类是一种设计模式,确保一个类只有一个实例,并提供一个全局访问点来访问这个实例。
- 数据类主要用于存储数据,它们的主要目的是提供一种简洁的方式来创建只包含数据的类。Kotlin 会自动为数据类生成一些常用方法,如 equals(), hashCode(), 和 toString()。
- 接口定义了一组方法的规范,但不提供这些方法的实现。类可以实现一个或多个接口,从而承诺提供这些方法的实现。
- 构造函数用于初始化对象的状态。在 Kotlin 中,主构造函数是类头的一部分,而辅助构造函数(如果有)则使用 constructor 关键字定义。
- 继承允许一个类(子类或派生类)继承另一个类(父类或基类)的属性和方法。
还没有评论,来说两句吧...