1、编写Person类,主构造器接受一个字符串,字符串形式为名字,空格,姓,如new Person(“Fred Smith”)。提供只读属性firstName和lastName。
class Person(name:String,unit: Unit,name1:String)
{
val firstName:String="李三"
val lastName:String="李华"
}
2、定义一个Point类,使得我们不用new就可以直接使用Point(3,4)来构建类的实例。
法1:用样本类实现
case class Point(One:Int,Two:Int)
object Test {
def main(args: Array[String]): Unit = {
val p=Point(3,4)
println(p.One+","+p.Two)
}
}
结果:3,4
3、定义一个抽象类Shape,一个抽象方法centerPoint, 以及该抽象类的子类Rectangle和Circle,为子类提供合适的构造器,并重写centerPoint方法。
package classDemo
abstract class Shape {
def centerPoint:String
}
class Rectangle(var name1:String) extends Shape
{
var type1=""
def this(name1:String,type1:String)
{
this(name1)
this.type1=type1
}
override def centerPoint: String = "大家好,我是"+name1+",属于"+type1+"一族"
}
class Circle(var name2:String) extends Shape
{
var type2=""
def this(name2:String,type2:String)
{
this(name2)
this.type2=type2
}
override def centerPoint: String = "大家好,我是"+name2+",属于"+type2+"一族"
}
object Test1
{
def main(args: Array[String]): Unit = {
val r=new Rectangle("方大块","矩形")
println(r.centerPoint)
val c=new Circle("圆嘟嘟","圆形")
println(c.centerPoint)
}
}
结果:
大家好,我是方大块,属于矩形一族
大家好,我是圆嘟嘟,属于圆形一族
4、利?用模式匹配,对List做出如下匹配条件
(1)不管元素个数,List是否以1开头
(2)List含有三个元素,并且第二个元素是2
(3)List含有两个元素,并且最后一个元素是3
(4)都不符合以上条件
答案
package practice
object Test {
def main(args: Array[String]): Unit = {
val list1 = List(2,1,3)
list1 match {
case List(1,_* ) =>println(1)
case List(_,2,_)=>println(2)
case List(_,3)=>println(3)
case _ => println("error")
}
}
}
scala作业3
猜你喜欢
转载自blog.csdn.net/weixin_43562705/article/details/91437826
今日推荐
周排行