Scala Abstract Classes

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原创转载请注明出处: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


 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值