成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

在Scala中定義final成員

開發 后端
本文節選自Martin Odersky,Lex Spoon和Bill Venners所著,Regular翻譯的《Programming in Scala》的第十章。Scala是一種針對 JVM 將函數和面向對象技術組合在一起的編程語言。

設計一個繼承層級的某些時候,你想要確保成員不被子類重載。Scala里和Java里一樣,通過添加final修飾符給成員來做到。例如,你可以在ArrayElement的demo方法前放一個final修飾符,如代碼10.7中展示的那樣。

  1. class ArrayElement extends Element {  
  2.  final override def demo() {  
  3.   println("ArrayElement's implementation invoked")  
  4.  }  
  5. }  

代碼 10.7 聲明final方法

51CTO編輯推薦:Scala編程語言專題

有了這個版本的ArrayElement,嘗試在它的子類,LineElement,重載demo方法,將編譯不過:

  1. elem.scala:18: error: error overriding method demo  
  2. in class ArrayElement of type ()Unit;  
  3. method demo cannot override final member  
  4. override def demo() {  
  5. ˆ  
你或許還多次想確保整個類都沒有子類。要做到這點只要簡單地通過在類的聲明上添加final修飾符把整個類聲明為final即可。如,代碼10.8展示了如何聲明ArrayElement為final:

  1. final class ArrayElement extends Element {  
  2.  override def demo() {  
  3.   println("ArrayElement's implementation invoked")  
  4.  }  
  5. }  
代碼 10.8 聲明final類

有了這個版本的ArrayElement,任何定義子類的嘗試都將失敗:

  1. elem.scala: 18: error: illegal inheritance from final class 
  2. ArrayElement  
  3. class LineElement extends ArrayElement {  
  4. ˆ  

我們現在將去掉final修飾符和demo方法,并回到早先實現的Element家族。我們將把我們本章剩余部分的注意力集中在完成布局庫的工作版本上。

【相關閱讀】

  1. Scala程序中如何實現多態和動態綁定
  2. Scala學習:調用超類構造器和override修飾符的使用
  3. Scala:重載方法和字段及定義參數化字段
  4. Scala程序中的擴展類
  5. 在Scala中定義無參數方法

責任編輯:book05 來源: Artima
相關推薦

2009-07-22 07:53:00

Scala無參數方法

2009-07-21 17:21:57

Scala定義函數

2010-01-18 17:57:02

靜態數據

2009-11-16 17:04:46

Inside Scal

2024-12-13 09:26:35

2023-11-03 12:33:20

GoGORM

2009-12-11 10:42:00

Scala講座類定義構造函數

2009-07-22 09:22:20

Scala工廠對象

2009-08-03 18:26:18

C#定義接口成員

2023-04-03 07:08:28

C++函數模板

2023-06-30 17:56:31

Scala元組

2009-07-21 12:24:01

Scala先決條件添加字段

2009-07-20 16:56:51

Scala類的定義

2011-06-15 09:24:36

Qt Widget Model

2009-07-22 07:53:00

Scala擴展類

2009-07-08 15:35:18

Case類Scala

2009-07-22 07:45:00

Scala代碼重復

2009-09-22 09:59:40

QueueCollecScala

2009-07-21 12:47:04

Scala私有字段定義操作符

2009-09-22 10:15:42

PersistentQScala
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲国产一区在线 | 午夜精品久久久 | 操视频网站 | 性欧美精品一区二区三区在线播放 | 超碰美女在线 | 成人a在线观看 | 激情六月丁香 | 成人精品福利 | 伊人久久综合 | 精品久久九九 | www视频在线观看 | 六月成人网 | 国产在线播 | 日韩精品在线一区 | 国产成人麻豆免费观看 | 日本午夜网站 | 国产精品久久国产精品 | 精品美女久久久 | 国产不卡在线观看 | 天天干天天谢 | 91免费观看国产 | 色综合天天天天做夜夜夜夜做 | 国产一级免费视频 | 中文字幕一区二区在线观看 | 在线综合视频 | 日韩精品成人 | 国产99久久精品一区二区永久免费 | 国产在线视频在线观看 | 成人午夜精品 | 国产高清精品一区二区三区 | 在线免费观看成人 | 一区二区三区高清 | 成人欧美一区二区 | 99re视频在线 | 欧美日韩一区在线播放 | 精品国产乱码久久久久久久久 | 亚洲国产一区二区视频 | 一区二区三区网站 | 欧美激情久久久 | 日韩一区精品 | 亚洲一区自拍 |