类的基本知识

Kotlin和Swift都是面向对象的语言。在这两种语言中,您都可以定义带有成员变量(成员变量在这两种语言中都称为属性)和方法的类。两种语言都使用类似的语法来创建和初始化对象。

芬兰湾的科特林

由于几乎赢博体育类都有构造函数,Kotlin提供了一种简明语法,允许您在声明类时更有效地定义构造函数。

这里有一个简单的例子:

类矩形(var width: Double,var height: Double)

这个声明引入了一个类Rectangle,它有两个成员变量:width和height。声明同时定义了类的构造函数,该构造函数接受两个参数。

创建类的实例类似于Java中的语法,除了Kotlin不使用new关键字:

val r =矩形(25.0,15.0)

方法只是在类的上下文中定义的函数:

class Rectangle(var width: Double,var height: Double) {fun area(): Double = width*height} val r = Rectangle(25.0,15.0) println(" r的面积是$(r.area()).")

另一种方法是使用computed属性,它是一个只有getter而没有setter的属性:

类矩形(var width: Double,var height: Double) {val area(): Double get() = this。宽度* this。{height} val r = Rectangle(25.0,15.0) println(" r的面积为$(r.area).")

斯威夫特

Swift语言同时提供了结构体和类。结构和类都可以有属性和方法,包括构造函数。结构体和类之间最重要的区别是结构体是值类型,而对象是引用类型。当将结构体作为参数传递给函数时,传递的是该结构体值的副本。当你将一个对象传递给一个函数时,它总是通过引用传递的。

struct Rectangle {var width: Double var height: Double}

定义一个结构或类会自动为该类型定义一个构造函数:

let r =矩形(宽:25.0,高:15.0)

像Kotlin一样,Swift也允许你设置计算属性:

struct Rectangle {var width: Double var height: Double var area: Double {get {return width*height}}}} let r = Rectangle(width:25.0,height:15.0) println(" r的面积是\(r.area).")

只有getter的计算属性也可以写成更紧凑的表示法:

struct Rectangle {var width: Double var height: Double var area: Double{返回width*height}}