码迷,mamicode.com
首页 > 其他好文 > 详细

组合与继承之定义final成员

时间:2015-08-20 19:18:59      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

有时在设计一个继承层级时,你想要确保一个成员不被子类重写。这在Scala中可以和Java一样通过给成员添加final修饰符来实现。例如:

object T6 {
    def main(args: Array[String]): Unit = {
        val arrayElement = new ArrayElements
        arrayElement.demo()
    }
}

class Element {
    def demo() {
        println("Element class")
    }
}

class ArrayElements extends Element {
    final override def demo() {
        println("ArrayElement‘s implementation invoked")
    }
}

你有时或许还想确保整个类都不会有子类。要做到这点只要简单地在类的声明上添加final修饰符来把整个类声明为final即可。

object T6 {
    def main(args: Array[String]): Unit = {
        val arrayElement = new ArrayElements
        arrayElement.demo()
    }
}

class Element {
    def demo() {
        println("Element class")
    }
}

final class ArrayElements extends Element {
    override def demo() {
        println("ArrayElement‘s implementation invoked")
    }
}


组合与继承之定义final成员

标签:

原文地址:http://my.oschina.net/fhd/blog/495117

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!