Scala | 面向对象and类

63 阅读2分钟

一、面向对象

1. 什么是面向对象?

它是一种编程思想,它是基于面向对象的,强调的是以对象为基础完成各种操作。

2. 面向对象的三大思想特点是什么?

(1) 更符合人们的思考习惯

(2) 把复杂的事情简单化

(3) 把程序员从执行者变成指挥者

3. 面向对象的三大特征是

(1) 封装:隐藏实现细节;

(2) 继承:不劳而获的幸福;

(3) 多态:丰富多彩的世界。

4.什么是类class? 类是属性行为的集合。

(1) 属性也叫成员变量:名词,用来描述事物的外在特征

(2) 行为也叫成员方法:动词,表示事物能做什么

  • Student 构造函数 用来创建对象 new 的时候 就会自动调用一次

  • 构造函数: (1) 主构造函数 (2) 辅助构造函数

  • 特点:名字就叫做this 他的代码的第一行必须是调用主构造器 可以有多个

二、创建类和对象

在Scala中,用class来创建类,用new来创建对象。

三、定义和访问成员变量

定义和访问成员变量。

1. var/val  来定义成员变量

2. 对象可以通过对象名. 成员变量的方式来访问成员变量

四、定义和访问成员方法

类可以有自己的行为,scala中也可以通过定义成员方法来定义类的行为。
注意:返回值的类型可以不写,由Scala自动进行类型推断。

五、理解构造器

构造器是一个函数,在new的时候,被自动调用,它的作用是实例化对象
new Class() 就是在调用构造器,或者叫调用构造函数
class Student(var name:String, var age:Int) {
  println("Student构造函数被调用.....")

  // 辅助构造函数 1
  def this(name:String) {
    this(name, 15)
    println("辅助构造函数被调用.....")
  }

  // 辅助构造函数 2
  def this(age:Int) {
    this("未知", age)
    println("辅助构造函数被调用.....")
  }

  def sayHello(): Unit = {
    println(s"我是${name},今年${age}")
  }
}

def main(args: Array[String]): Unit = {
  // 实例化类的对象 stu
  // new 的时候 就会自动调用一次构造函数
  val stu = new Student("栩子",18)

  // 调用对象的方法
  stu.sayHello()

  val stu1 = new Student("小明")
  stu1.sayHello()

  val stu2 = new Student(20)
  stu.sayHello()
}

屏幕截图 2025-10-29 155939.png