本文概述
与Java不同, scala是一种纯面向对象的编程语言。它允许我们创建对象和类, 以便你可以开发面向对象的应用程序。
Object
对象是现实世界的实体。它包含状态和行为。笔记本电脑, 汽车, 手机是现实世界中的对象。对象通常具有两个特征:
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