Scala中的抽象类

抽象类

在 Scala 中,抽象是通过使用抽象类实现的。

抽象是仅显示功能并向最终用户隐藏细节的过程。

抽象类使用“abstract ”关键字定义。一个抽象类包含抽象和非抽象方法。抽象类不允许多重继承,即一个类只能继承一个抽象类。

在Scala中创建Abstract类的语法:

abstract class class_name {
	def abstract_method () {}
	def method() {
		//代码
	}
}

一个抽象的方法是不具有任何功能体的方法。

示例

abstract class bikes
{ 
	def displayDetails() } 

class myBike extends bikes 
{ 
	def displayDetails() 
	{ 
		println("My new bike name : Harley Davidson Iron 833 ") 
		println("Top speed : 192 kmph") 
	} 
} 

object MyObject 
{ 
	def main(args: Array[String]) 
	{ 
		var newBike = new myBike() 
		newBike.displayDetails() 
	} 
}

输出结果

My new bike name : Harley Davidson Iron 833 
Top speed : 192 kmph

关于Scala抽象类的几点

  • 不允许创建Abstract类的实例。如果我们尝试创建抽象类的对象,则将引发错误。

  • 允许创建抽象类的字段,并且抽象类的方法和继承它的类可以使用该字段。

  • 也可以在抽象类中创建构造函数,该抽象类将由继承的类的实例调用。