首页 > 其他 > 详细

组合与继承之定义final成员

时间:2015-08-20 19:17:06      阅读:191      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!