本文概述
- Scala抽象类示例
- Scala抽象类示例:具有构造函数, 变量和抽象方法
- Scala抽象类示例:未实现抽象方法
【Scala抽象类介绍和用法示例】在scala中, 我们可以通过使用抽象类和特征来实现抽象。我们已经在这里详细讨论了这些。
Scala抽象类示例在此示例中, 我们创建了Bike抽象类。它包含一个抽象方法。 Hero类可以扩展它并提供其run方法的实现。
扩展抽象类的类必须提供其所有抽象方法的实现。你不能创建抽象类的对象。
abstract class Bike{def run()}class Hero extends Bike{def run(){println("running fine...")}}object MainObject{def main(args: Array[String]){var h = new Hero()h.run()}}
输出
running fine...
Scala抽象类示例:具有构造函数, 变量和抽象方法
abstract class Bike(a:Int){// Creating constructorvar b:Int = 20// Creating variablesvar c:Int = 25def run()// Abstract methoddef performance(){// Non-abstract methodprintln("Performance awesome")}}class Hero(a:Int) extends Bike(a){c = 30def run(){println("Running fine...")println("a = "+a)println("b = "+b)println("c = "+c)}}object MainObject{def main(args: Array[String]){var h = new Hero(10)h.run()h.performance()}}
输出
Running fine...a = 10b = 20c = 30Performance awesome
Scala抽象类示例:未实现抽象方法在此示例中, 我们没有实现抽象方法run()。编译器在编译该程序期间报告错误。错误消息在下面的输出部分给出。
abstract class Bike{def run()// Abstract method}class Hero extends Bike{// Not implemented in this classdef runHero(){println("Running fine...")}}object MainObject{def main(args: Array[String]){var h = new Hero()h.runHero()}}
输出
error: class Hero needs to be abstract, since method run in class Bike of type ()Unit is not definedclass Hero extends Bike{^one error found
为避免此问题, 你必须实现抽象类的所有抽象成员, 或者也使你的类抽象。
推荐阅读
- Scala继承图解和用法示例
- Scala this关键字用法示例详解
- Scala如何使用单例对象和伴随对象()
- Scala方法覆盖图解和用法示例
- Scala对象和类解释和用法示例详解
- Scala方法重载用法示例
- Scala高阶函数用法示例和解释详解
- Scala属性覆盖介绍和用法示例
- Scala case类和case对象用法详细示例