教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

Scala面向对象有哪些特性?

更新时间:2022年06月17日18时34分 来源:传智教育 浏览次数:

类与对象

无论是在Scala中还是Java中,类都是对象的抽象,而对象都是类的具体实例;类不占用内存,而对象占用存储空间。由于面向对象的核心是对象,若想要在应用程序中使用对象,就必须得先创建一个类。类是用于描述一组对象的共同特征和行为。

创建类的格式

class类名[参数列表]

创建对象的格式

类名对象名称=new类名0;

继承

Scala和Java类似,只允许继承一个父类。Java只能继承父类中非私有的属性和方法,而Scala可以继承父类中的所有属性和方法。

在Scala子类继承父类的时候,有以下几点需要注意

如果子类要重写一个父类中的非抽象方法,则必须使用override关键字,否则会出现语法错误。

如果子类要重写父类中抽象方法时,则无需使用override关键字

单例对象和伴生对象

Scala中提供了object这个关键字用来实现单例模式,使用关键字object创建的对象为单例对象。

在一介源文件中有一个类和一个单例对象,若单例对象名与类名相同,则把这个单例对象称作伴生对象(companion object),这个类则被称为是单例对象的伴生类(companion class)。

类和伴生对象之间可以相互访问私有的方法和字段。

特质

在Scala中,Trait(特质)的功能类似于Java中的接口,但Trait的功能却比Java中的接口强大。例如,Trait可以对定义字段和方法进行实现,而接口却不能。Scala中的Trait可以被类和对象(Objects)使用关键字extends来继承。

创建特质的格式

trait traitName
0 分享到:
和我们在线交谈!