内容:
1. Scala中的隐式对象;
2. Scala中的隐式类;
3. 隐式类的使用场景及案例。
Scala中的隐式对象
隐式对象是一个带有implicit关键字的单例对象,它可以用于提供某种类型的实例以供隐式转换使用。隐式对象通常用于将某个类或trait的实例隐式地注入到方法中。
隐式对象和前面讲的隐式参数比较类似,都是用来设置初始数据的。
Scala中的隐式类
有一个现有的类。现在我们需要对这个类的功能进行拓展,额外补充一个方法。但是,不允许直接修改原来的类的代码。
假设这里有一个类User,它的内部有一个方法 insertUser
这个程序运行起来非常的稳定了,同时又不要去改动它之前的代码。 我们的基本思路是:再写一个类,然后在其中补充一个方法,然后让当前的类去使用这个方法。
案例:验证电话号码是否合法。
目标:让任意一个字符串具备一个功能,判断是否是一个合法的手机号。
代码如下图:
这里用到了正则表达式的相关知识。
再添加一个身份证合法验证:
案例:计算阶乘
需求说明:给一个所有的整数添加一个功能,例如:3!=321。
println(3!) // 输出6
代码如下:
下面我们一起回顾下本课的主要内容。
隐式对象,主要充当默认值的作用。
隐式类,用来增加现有类的功能。