美文网首页
Scala语言入门七(trait)

Scala语言入门七(trait)

作者: 阿靖哦 | 来源:发表于2020-12-17 11:32 被阅读0次

    Scala Trait(特征) 相当于 Java 的接口,实际上它比接口还功能强大。与接口不同的是,它还可以定义属性和方法的实现。一般情况下Scala的类只能够继承单一父类,
    但是如果是 Trait(特征) 的话就可以继承多个,从结果来看就是实现了多重继承

    一、Trait的定义

    Trait(特征) 定义的方式与类类似,但它使用的关键字是trait

    /**
     * @author Gjing
     **/
    trait Person {
      /**
       * 说
       * @param content 内容
       */
      def say(content: String): Unit
    
      /**
       * 吃
       * @param food 食物
       */
      def eat(food: String): Unit = say("在吃" + food)
    }
    

    上面定义了两个方法,say()方法没有定义实现,eat()方法定义了方法的默认实现,子类只需实现say()方法即可,从这里可以看出,Scala中的Trait其实更像Java中的抽象类. 下面是一个完整的示例

    /**
     * @author Gjing
     **/
    obje
    
      def main(args: Array[String]): Unit = {
        val min = new XiaoMin
        min.say("你好")
        min.eat("苹果")
      }
    }
    
    /**
     * @author Gjing
     */
    class XiaoMin extends Person {
      override def say(content: String): Unit = println(content)
    }
    

    相关文章

      网友评论

          本文标题:Scala语言入门七(trait)

          本文链接:https://www.haomeiwen.com/subject/qotzgktx.html