kotlin学习笔记(5)Kotlin 类与对象

读书学习笔记《KOTLIN 开发快速入门与实战》
通过把书中的内容 复述一遍,把代码敲一遍,达到复习效果

主要内容:

  • 面向对象的基本概念
  • Kotlin 中的面向对象
  • 类的定义及实例化
  • 声明类的成员
  • 面向对象的三大特征
  • 数据类的创建和实现
  • 枚举类的创建和实现
  • 密封类的创建和实现
  • 抽象类的实现
  • 接口的使用
  • 泛型
  • 异常
  • 创建包和导入包

5.1面向对象的基本概念

这里所说的面向对象:是指面向对象编程(OOP)。
面向对象包括三个部分:面向对象分析(OOA),面向对象设计(OOD),面向对象编程(OOP)。

5.1.1 类

万事万物都具有其自身的属性和方法,通过属性和方法可以表现出不同,如人具有身高,性别和肤色等属性,还有吃饭、运动和走路等动作。

5.1.2 对象

对象是类的实例化,创建一个对象表示实例化一个类。

5.1.3 面向对象的三大特性

三大特性是 :封装、继承 和多态

5.2 类与对象

5.2.1 类的定义

kotlin 也是通过class 关键字来声明类,其中类由 构造函数和初始化模块、函数、属性、嵌套类和内部类、对象声明 5部分组成。

定义一个简单的类

class Invoice { /*……*/ }

使用大括号 括起来的部分是类的全部内容。PlayerObject 是一个简单的类,什么功能都没有实现,如果一个类中没有形参和函数部分,那么大括号可以省略不写。

class Empty
5.2.2 成员属性

类的变量也称为成员变量,成员变量用来保存数据信息,或者与成员方法进行交互实现某个功能。
类的成员变量在使用前必须声明,除声明变量的数据类型外,还要声明变量的访问属性和存储方式。
访问修饰符有:public 、protected、private、internal, 也可以缺省
存储类型修饰符有:open 、override 和const

package com.sunyouwei.chapter05

class PlayerObject {
    var name: String = "Kotlin"
        set
    var weight = 0.0
        set
    var height = 0.0
        set
    var BIM: String = ""
        get() {
            var b = this.weight / Math.pow(this.height, 2.0)
            if (b <= 18.5) {
                return "偏瘦"
            } else if (b in 18.5..23.9) {
                return "正常"
            } else if (b in 24.0..27.9) {
                return "过重"
            } else {
                return "肥胖"
            }
        }
}

fun main(args: Array<String>) {
    var player = PlayerObject()
    player.weight = 80.5
    player.height = 175.0
    println("weight :${player.weight}   height:${player.height}  bim:${player.BIM}")
}

5.2.3 成员方法
5.2.4 构造函数

在 Kotlin 中的一个类可以有一个主构造函数以及一个或多个次构造函数。主构造函数是类头的一部分:它跟在类名(与可选的类型参数)后。

class Person constructor(firstName: String) { /*……*/ }

如果主构造函数没有任何注解或者可见性修饰符,可以省略这个 constructor 关键字。

class Person(firstName: String) { /*……*/ }

你可能感兴趣的:(kotlin)