Scala Trait

2020-03-11 155次浏览 已收录 7个评论
trait Speak{
  def speak(name:String)={
    println(name+"is speak")
  }
}
trait Read{
 def read(name:String)={
   println(name+"is read")
 }
 
}
class person() extends Speak with Read{
 
}




trait Isequ{
  def isequ(p:Any):Boolean
//  def isequ(p:Any):Boolean={
//    方法体的实现
//  }
}
class point(xx:Int,yy:Int) extends Isequ{
  val x=xx
  val y=yy
  def isequ(p:Any):Boolean={
    /*
     * 查看p2是否是point的实例
     * &&
     * 把p2作为point的实例取出的它的x值
     * p1.x
     */
    p.isInstanceOf[point]&&p.asInstanceOf[point].x==this.x
  }
}
object Trait {
  def main(args: Array[String]): Unit = {
    val p = new person()
    p.speak("zhazhalong")
    p.read("long")
    
    val p1=new point(1,2)
    val p2=new point(1,3)
    println(p1.isequ(p2))
  }
}

渣渣龙, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Scala Trait
喜欢 (0)

您必须 登录 才能发表评论!

(7)个小伙伴在吐槽
  1. 最好再详细点
    hello2020-03-27 12:46
  2. 奥利给
    白云2020-03-27 13:36
  3. 我给你点赞了
    白云2020-03-27 14:02
  4. 我也是小白以后多多交流
    我也是渣渣2020-03-28 16:25
  5. 可以
    hello2020-05-26 09:28
  6. 可以
    渣渣混2020-05-26 09:54
  7. 以后多发点哦
    笔记本2020-05-26 10:45