原创转载请注明出处:http://agilestyle.iteye.com/blog/2334485
Scala中的抽象类就跟Java一样,用abstract关键字来描述抽象类,抽象类包含了未定义的方法或未初始化的域。
package org.fool.scala.abstractclasses
abstract class Animal {
def templateMethod = s"The $animal goes $sound"
def animal: String
def sound: String
}
class Duck extends Animal {
def animal = "Duck"
def sound = "Quack"
}
class Cow extends Animal {
override def animal: String = "Cow"
override def sound: String = "Moo"
}
object AbstractClassesTest extends App {
println(new Duck().templateMethod)
println(new Cow().templateMethod)
}
Console Output

本文介绍了Scala中抽象类的使用方式,通过定义一个抽象类Animal并实现两个子类Duck和Cow来展示模板方法的设计模式。每个子类都覆盖了父类中的抽象方法,实现了不同的动物声音。
4065

被折叠的 条评论
为什么被折叠?



