理论教育 Scala构造器模式简介,强大的功能与案例详解

Scala构造器模式简介,强大的功能与案例详解

时间:2023-11-24 理论教育 版权反馈
【摘要】:构造器模式指的是直接在case语句后面接类构造器,匹配的内容放置在构造器参数中。构造器模式功能十分强大,经常与Case Class一起搭配使用,此知识会在4.3小节中详细讲解,在此先看一个构造器模式匹配的例子,如例4-6所示。构造器模式匹配示例。从前述代码及执行结果可以看到,构造器模式其实是一种深度匹配,这是因为变量p不仅匹配类型Person,还匹配变量p所引用对象的内容。

Scala构造器模式简介,强大的功能与案例详解

构造器模式指的是直接在case语句后面接类构造器,匹配的内容放置在构造器参数中。构造器模式功能十分强大,经常与Case Class一起搭配使用,此知识会在4.3小节中详细讲解,在此先看一个构造器模式匹配的例子,如例4-6所示。构造器模式指的是模式匹配时使用类的构造函数名,例如类被定义为case class Person(name:String,age:Int),则使用case Person(name,age)进行模式匹配,模式Person(name,age)与类构造函数Person(name:String,age:Int)是对应的。

【例4-6】构造器模式匹配示例。

执行结果如下:(www.daowen.com)

如代码运行结果所示,constructorPattern(p)的参数p会满足case Person(name,age),从而完成对象的析取。例4-6中的第8行代码演示了构造器模式匹配,语句case Person(name,age)=>"name="+name+",age="+age中的Person(name,age)与输入Person对象p进行匹配,先匹配类型Person,再提取构造器参数对应的值。从前述代码及执行结果可以看到,构造器模式其实是一种深度匹配(deep matches),这是因为变量p不仅匹配类型Per⁃son,还匹配变量p所引用对象的内容。如果只需要匹配对象中部分成员的变量内容,可以采用占位符_略去不需要匹配结果的内容(见代码第9行)。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈