Kotlin面向对象

面向对象的概念:提到面向对象,自然会想到面向过程,面向过程就是分析解决问题所需要的步骤,然后用函数把这些步骤一一实现,使用的时候一个一个依次调用就OK了。一个程序会有多个对象,通过多个对象的相互配合来实现应用程序的功能,程序发生变动时,只需修改个别的对象,从而使代码更容易得到维护。

面向对象3大特性:封装,多态,接口

封装性是面向对象的核心思想,将对象的属性和行为封装起来,不需要让外界知道具体实现细节,这就是封装思想。

继承性主要描述的是类与类之间的关系,通过继承,可以在无须重新编写原有类的情况下,对原有类的功能进行扩展

多态性指的是在程序中允许出现重名现象,它指在一个类中定义的属性和方法被其他类继承后,它们可以具有不同的数据类型或表现出不同的行为,这使得同一个属性和方法在不同的类中具有不同的语义

类的定义:在面向对象的思想中最核心的就是对象,为了在程序中创建对象,首先需要定义一个类

类中可以定义成员变量和成员函数,其中成员变量用于描述对象的特征,也被称作属性,成员函数用于描述对象的行为,可简称为函数或方法。

对象的创建:Kotlin程序中对象是通过“类名()”的形式来直接创建的,如:var 对象名称 = 类名

类的封装:当一个类的成员变量可以被随意访问时,则这个成员变量的值可能被设置为不符合要求的数据,在定义一个类时,应该对成员变量的访问做出一些限制,不允许外界随意访问,此时就需要用到类的封装

Kotlin中的构造函数分为两种:一种是主构造函数,另一种是次构造函数。

主构函数:constructor关键字进行修饰,一个类可以有一个主构函数和多个次构函数

在主构函数中赋值时,通常使用init{}初始化代码块

this关键字:构造函数中成员变量和局部变量为了统一命名冲突,为此Kotlin提供了this关键字

次构造函数:Kotlin可以定义多个次构函数,次构函数同样使用constructor关键字定义,只不过次构函数位于类体中。调用方式:次构函数:this(参数列表)

当新定义的次构造函数调用主构造函数或次构造函数时,被调用的构造函数中参数的顺序必须与新定义的次构造函数中参数的顺序一致,并且参数个数必须小于新定义的次构造函数中参数的个数

类的继承:一个类中想要使用已有类中的所有属性或方法,则可以通过将该类继承已有类来实现。

Kotlin中,一个类继承另一个类,则用英文冒号“:”

                子类会拥有父类所有可继承的属性和方法

                Kotlin中所有类默认使用final关键字修饰,不能被继承,因此在继承某个类时,需要在这个类前面加open关键字。

方法的重写:类的继承,子类继承父类时会自动继承父类中定义的方法或属性,但有时在子类中需要对继承的方法或属性进行一些修改,这个过程被称为方法或属性的重写。

         在子类中重写的方法与在父类中被重写的方法必须具有相同的方法名、参数列表以及返回值类型,并且被重写的方法前边需要使用“override”关键字标识。

         在子类中重写的属性与在父类中被重写的属性必须具有相同的名称和类型,并且被重写的属性前边也需要使用“override”关键字标识。

         在父类中需要被重写的属性和方法前面必须使用open关键字来修饰。

super关键字:当子类重写父类的方法后,子类对象将无法访问父类被重写的方法,Kotlin专门提供了super关键字用于访问父类的成员。super. 成员变量    super.成员方法

Any类与Object类

        Kotlin中所有类都继承Any类,它是所有类的父类,如果一个类在声明时没有指定父类,则默认父类为Any类。

        Any类中默认提供了3个方法,分别是equals()、hashCode()和toString()

                

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伟、。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值