Scala_6.抽象函数Trait
package com.lius /** * Trait多重继承,抽象类类似于Java AbstractClass */ object TraitProgram { /** * 抽象类实现 */ trait Equal{ def isEqual(x:Any):Boolean //抽象函数 def isNotEqual(x:Any):Boolean = !isEqual(x) } /** * 创建基于Equal抽象类的Point类,实现Equal的isEqual方法 * @param xc * @param yc */ class Point(xc:Int,yc:Int) extends Equal { var x = xc var y = yc override def isEqual(obj: Any): Boolean = //obj.isInstanceOf[Point] obj对象是否是Point类创建的 //obj.asInstanceOf[Point].x == x obj对象的x值是否与x值相同 obj.isInstanceOf[Point] && obj.asInstanceOf[Point].x == x } def main(args: Array[String]): Unit = { //创建Person对象 var p1 = new Point(2,3) var p2 = new Point(2,4) var p3 = new Point(3,3) //调用Person对象isEqual函数 println(p1.isNotEqual(p2)) println(p1.isNotEqual(p3)) println(p1.isNotEqual(2)) } }
Scala_6.抽象函数Trait
最新推荐文章于 2022-03-16 21:13:39 发布