`

Scala Abstract Classes

 
阅读更多

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


 

 

 

  • 大小: 11 KB
分享到:
评论

相关推荐

    scala sdk scala-2.12.3

    Scala SDK,全称为Scala Software Development Kit,是用于开发Scala应用程序的核心工具集。Scala是一种多范式的编程语言,融合了面向对象和函数式编程的特点,它运行在Java虚拟机(JVM)上,能够充分利用Java生态...

    scala3 scala3 scala3 scala3 scala3

    Scala3,也被称为Scala 3或Dotty,是Scala编程语言的一个重大更新,旨在提高其简洁性、可读性和类型安全性。Scala3的发布标志着该语言的进一步成熟,它引入了一系列改进,旨在解决早期版本中的一些痛点,同时保持对...

    scala-sbt-scala编译工具

    Starts the Scala REPL with project classes and dependencies on the classpath Modularization supported with sub-projects External project support (list a git repository as a dependency!) Parallel task ...

    Scala考试题1

    2. **trait(特质)和 abstract class(抽象类)的区别**: - 特质(Trait)支持多重继承,可以看作是接口的扩展,可以包含具体实现。 - 抽象类可以有成员变量和部分方法的实现,但不能实例化。它支持单继承。 3....

    scala2.12.1Windows镜像包

    Scala是一种强大的多范式编程语言,它融合了面向对象和函数式编程的概念。这个"scala2.12.1Windows镜像包"是为Windows操作系统设计的Scala编程环境的安装包,版本号为2.12.1。Scala 2.12.x系列是其重要的一个稳定...

    scala-2.12.10.zip

    Scala是一种强大的多范式编程语言,它融合了面向对象和函数式编程的概念。这个"scala-2.12.10.zip"文件是Scala编程语言的特定版本——2.12.10,专为Windows操作系统设计的安装包。Scala 2.12.x系列是该语言的一个...

    scala + mybatis 数据库查询

    Scala是一种强大的多范式编程语言,它结合了面向对象和函数式编程的特性。MyBatis则是一款流行的Java持久层框架,主要用于简化数据库操作。在本项目中,"scala + mybatis 数据库查询",我们将探讨如何将Scala与...

    scala-2.12.10.tgz

    Scala是一种强大的多范式编程语言,它融合了面向对象和函数式编程的概念。Scala运行在Java虚拟机(JVM)上,并且可以充分利用Java的生态系统。`scala-2.12.10.tgz`是一个针对Linux操作系统的Scala安装包,它的版本号...

    scala实战高清讲解

    Scala是一种强大的多范式编程语言,它融合了面向对象和函数式编程的特性,使得它在处理并发和大数据分析方面表现出色。"Scala实战高清讲解"这本书是学习Scala的宝贵资源,尤其对于那些希望深入理解并提升Scala技能的...

    scala for the impatient

    Working with higher-order functions and the powerful Scala collections library * Leveraging Scala's powerful pattern matching and case classes * Creating concurrent programs with Scala actors * ...

    Scala语法简明教程

    ### Scala语法简明教程知识点详解 #### Scala语言简史 - **诞生历史**:Scala起源于瑞士联邦理工学院洛桑(EPFL),由Martin Odersky在2001年开始设计,其灵感来源于Funnel——一种结合了函数式编程思想与Petri网...

    最好的scala学习 课件

    Scala是一种强大的多范式编程语言,它融合了面向对象和函数式编程的特性,被广泛应用于大数据处理领域,特别是与Apache Spark相结合时。本课件是针对Scala学习者精心准备的资源,旨在帮助你深入理解和掌握Scala的...

    scala-2.11.8.rar

    Scala是一种强大的多范式编程语言,它融合了面向对象和函数式编程的特性。这个"scala-2.11.8.rar"压缩包包含了Scala语言的2.11.8版本的源代码,这对于理解Scala的工作原理、学习高级编程技巧以及进行自定义扩展或...

    windows版scala-2.11.12.zip

    在这个"windows版scala-2.11.12.zip"压缩包中,包含的是Scala 2.11.12版本的Windows兼容安装文件,这是Scala的一个稳定版本,适用于开发人员在Windows操作系统上进行Scala编程。 Scala 2.11.x系列是Scala的一个主要...

    scala学习源代码

    Scala是一种强大的多范式编程语言,它融合了面向对象和函数式编程的特性。这个"scala学习源代码"的压缩包文件很可能包含了用于教学或自我学习Scala编程的基础示例。让我们深入了解一下Scala语言的关键概念和特性。 ...

    学习scala好的项目

    Scala是一种强大的多范式编程语言,它融合了面向对象和函数式编程的特性,被广泛应用于大数据处理、分布式计算和Web开发等领域。Spark是基于Scala构建的大数据处理框架,其高性能和易用性使得Scala在大数据领域备受...

    scala design patterns源书代码

    3. 抽象类和特质(Abstract Classes and Traits):Scala中的抽象类和特质可以用来实现多态性和接口定义。抽象类可以有具体方法和抽象方法,而特质更像是轻量级接口,可以多重继承。 4. 适配器模式(Adapter ...

    scala-2.11.12 win msi 安装包

    Scala是一种强大的多范式编程语言,它融合了面向对象和函数式编程的概念。这个压缩包提供的文件是"scala-2.11.12 win msi 安装包",适用于Windows操作系统,版本号为2.11.12。这个版本的Scala是官方发布的,虽然原...

    scala-2.12.14.zip&scala-2.12.11.tgz Linux版本压缩包.rar

    Scala是一种强大的多范式编程语言,它融合了面向对象编程和函数式编程的概念,被广泛应用于大数据处理和分布式计算领域,特别是在Apache Spark等框架中。标题提到的"scala-2.12.14.zip&scala-2.12.11.tgz"是Scala的...

Global site tag (gtag.js) - Google Analytics