📜  Scala对象和类

📅  最后修改于: 2021-01-09 11:41:23             🧑  作者: Mango

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示例Example2

在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