Scala的隐式对象和隐式类

19 阅读1分钟

内容:

1. Scala中的隐式对象;

2. Scala中的隐式类;

3. 隐式类的使用场景及案例。

Scala中的隐式对象

隐式对象是一个带有implicit关键字的单例对象,它可以用于提供某种类型的实例以供隐式转换使用。隐式对象通常用于将某个类或trait的实例隐式地注入到方法中。

隐式对象和前面讲的隐式参数比较类似,都是用来设置初始数据的。

Scala中的隐式类

有一个现有的类。现在我们需要对这个类的功能进行拓展,额外补充一个方法。但是,不允许直接修改原来的类的代码。

假设这里有一个类User,它的内部有一个方法 insertUser

屏幕截图 2025-12-30 082600.png

这个程序运行起来非常的稳定了,同时又不要去改动它之前的代码。 我们的基本思路是:再写一个类,然后在其中补充一个方法,然后让当前的类去使用这个方法。

屏幕截图 2025-12-30 084438.png

案例:验证电话号码是否合法。

目标:让任意一个字符串具备一个功能,判断是否是一个合法的手机号。

代码如下图:

屏幕截图 2025-12-30 084601.png

这里用到了正则表达式的相关知识。

再添加一个身份证合法验证:

屏幕截图 2025-12-30 092730.png

案例:计算阶乘

需求说明:给一个所有的整数添加一个功能,例如:3!=321。

println(3!) // 输出6

代码如下:

屏幕截图 2025-12-30 092902.png

下面我们一起回顾下本课的主要内容。

隐式对象,主要充当默认值的作用。

隐式类,用来增加现有类的功能。