W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
在Scala中,類和對象可以共享同一個名稱。
當一個對象與一個類共享一個名稱時,它被稱為伴生對象,并且該類被稱為伴生類。
伴生對象是與另一個類或特征共享相同名稱和源文件的對象。
一個trait可以看作是一個Java接口。
這種方法允許我們在類上創(chuàng)建靜態(tài)成員。
伴生對象對實現(xiàn)輔助方法和工廠很有用。
要實現(xiàn)一個創(chuàng)建不同類型的形狀的工廠,我們可以在Scala中創(chuàng)建一個形狀工廠。
我們使用一個伴生類Shape和一個伴生對象Shape,作為一個工廠。
trait Shape { def area :Double } object Shape { private class Circle(radius: Double) extends Shape{ override val area = 3.14*radius*radius } private class Rectangle (height: Double, length: Double)extends Shape{ override val area = height * length } def apply(height :Double , length :Double ) : Shape = new Rectangle(height,length) def apply(radius :Double) : Shape = new Circle(radius) } object Main extends App { val circle = Shape(2) println(circle.area) val rectangle = Shape(2,3) println(rectangle.area) }
與伴生類不共享相同名稱的單例對象稱為獨立對象。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: