Scala 对象和类
与Java不同,Scala是一种纯面向对象的编程语言。它允许我们创建对象和类,以开发面向对象的应用程序。
对象
对象是现实世界中的实体。它包含状态和行为。笔记本电脑、汽车、手机都是现实世界的对象。对象通常具有两个特征:
1)状态 :对象的数据值被称为其状态。
2)行为 :对象执行的功能被称为其行为。
在Scala中,对象是类的一个实例。它也被称为运行时实体。
类
类是一个模板或蓝图。它也被称为具有相似类型的对象的集合。
在Scala中,一个类可以包含:
- 数据成员
- 成员方法
- 构造函数
- 块
- 嵌套类
- 超类信息等
您必须在类中初始化所有实例变量。没有默认的作用域。如果不指定访问范围,它是公共的。必须有一个包含main方法的对象。它提供程序的起点。在这里,我们创建了一个类的示例。
Scala类的示例示例
class Student{
var id:Int = 0; // All fields must be initialized
var name:String = null;
}
object MainObject{
def main(args:Array[String]){
var s = new Student() // Creating an object
println(s.id+" "+s.name);
}
}
输出:
0 null
Scala类的示例示例2
在Scala中,你也可以像这样创建类。在这里,构造函数是在类定义中创建的。这被称为主构造函数。
class Student(id:Int, name:String){ // Primary constructor
def show(){
println(id+" "+name)
}
}
object MainObject{
def main(args:Array[String]){
var s = new Student(100,"Martin") // Passing values to constructor
s.show() // Calling a function by using an object
}
}
输出:
100 Martin
Scala示例,维护学生记录的类
class Student(id:Int, name:String){
def getRecord(){
println(id+" "+name);
}
}
object MainObject{
def main(args: Array[String]){
var student1 = new Student(101,"Raju");
var student2 = new Student(102,"Martin");
student1.getRecord();
student2.getRecord();
}
}
输出:
101 Raju
102 Martin
Scala匿名对象
在Scala中,您可以创建匿名对象。没有引用名称的对象称为匿名对象。当您不想进一步重复使用它时,创建匿名对象是很好的选择。
Scala匿名对象示例
class Arithmetic{
def add(a:Int, b:Int){
var add = a+b;
println("sum = "+add);
}
}
object MainObject{
def main(args:Array[String]){
new Arithmetic().add(10,10);
}
}
输出:
Sum = 20