Scala 类和对象:面向对象的简洁实现
Scala 作为一门纯粹的面向对象语言,其类和对象的设计既保留了面向对象的核心思想,又通过语法糖简化了代码编写,相比 Java 更加简洁灵活。本文将深入解析 Scala 类和对象的定义、属性访问机制及底层实现。
类的定义与特性
基本语法
Scala 中类的定义无需显式声明 public(默认即为公有),一个源文件可包含多个类,所有类均具有公有可见性。
1 | // 语法格式 |
示例:定义一个简单的类
1 | class Cat { |
代码解析:
- 属性初始化:Scala 要求类的属性必须显式初始化。若暂时不想赋值,可用
_赋默认值(需指定类型),默认值规则与 Java 基本类型一致(如字符串默认null,整数默认0)。 var与val的区别:var:可变属性,编译后会生成 getter(获取值)和 setter(修改值)方法。val:不可变属性,编译后仅生成 getter 方法(无 setter,因为值不可修改)。