
object Circle {
private val PI: Double = Math.PI
def calculateCircumference(radius: Double): Double = 2 * PI * radius
def calculateArea(radius: Double): Double = PI * radius * radius
}
object Task1Demo extends App {
val radius = 5.0
println(s"半径为$radius的圆,周长=${Circle.calculateCircumference(radius)}")
println(s"半径为$radius的圆,面积=${Circle.calculateArea(radius)}")
}
class Circle private() {
private val PI: Double = Math.PI
def calculateCircumference(radius: Double): Double = 2 * PI * radius
def calculateArea(radius: Double): Double = PI * radius * radius
}
object Circle {
private val instance: Circle = new Circle()
def getInstance: Circle = instance
}
object Task2Demo extends App {
val radius = 5.0
val circle = Circle.getInstance
println(s"半径为$radius的圆,周长=${circle.calculateCircumference(radius)}")
println(s"半径为$radius的圆,面积=${circle.calculateArea(radius)}")
val circle2 = Circle.getInstance
println(s"是否为同一个实例:${circle eq circle2}")
}