AI智能
改变未来

【Android开发日志】Kotlin 面向对象编程 – 数据类与单例类(15)

目录

  • 数据类
  • 单例类

数据类

你或许听说过

MVC

MVP

MVVM

等架构模式,其中

M

即指数据类,它们用于将服务器或数据库中的数据映射到内存中。为编程逻辑提供数据模型的支持。

数据类一般需要重写以下方法:

  • equals()

    :判断两个数据类是否相等。

  • hashCode()

    :与

    equals()

    配套使用,对所收集的大量对象进行搜寻和定位。

  • toString()

    :用于提供更便于阅读的输入日志,数据类默认打印的是一行内存地址。

以上方法在创建数据类时Kotlin会在自动帮我们创建,下面我们新建一个类,命名为

Mobilephone



接下来我们写入下列代码:

data class Mobilephone (val brand: String, val price:Double)

一行代码实现对

Mobilephone

数据类的定义,

data

关键字表明我们希望这个类是一个数据类,Kotlin会自动帮你完成很多工作,大大减少工作量。

当一个类中没有任何代码时,还可以将尾部的

{}

省略。

接下载我们实践一下这个数据类,加入以下代码:

fun main(){val P40 = Mobilephone(\"Huawei\", 3988.00)val Mate30 = Mobilephone(\"Huawei\", 3388.00)println(\"P40的价格是:\"+ P40.price)println(\"P40与Mate30价格一样吗?\" + (P40.price == Mate30.price ))}

我们定义了

P40

Mate30

两部手机的品牌和价格。随后我们打印出

P40

的价格,并与

Mate30

的价格比较。运行结果如下:

这样数据类已经开始运行啦。

单例类

单例模式是Kotlin中特有的,也是最常用、最基础的设计模式之一,可以避免创建很多重复对象。Kotlin创建单例类的方式极其简单:

只需要将原本地

class

替换为

object

关键字即可。代码如下:

object Singleton {fun singletonTest(){println(\"单例类已经定义好啦!\")}}

可以看到,Kotlin并不需要我们设定各种属性,实际上Kotlin帮我们创建了一个实例,并全局只允许这个实例存在一个。调用也很简单:

欢迎关注小试编程
​​​​

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 【Android开发日志】Kotlin 面向对象编程 – 数据类与单例类(15)