(一)理解抽象类
类本身就是对对象的抽象,抽象类就是对类的抽象,就是一种更加模糊的类。
定义:抽象类是一个包含一个或多个抽象方法的类。抽象方法是不带任何实现的方法。抽象类也可以包含具体的方法和属性
(二) 定义抽象类
定义一个Scala的抽象类:abstract class A{ }。
/*
//抽象属性:只有属性名 ,没有具体的值
*抽象类
*1. 有关键字 abstract
*2.有
1.抽象成员。只有属性名,没有具体的值 没有 等号。
2.具体成员
* 3不能被new
* 作用:给其他的子类立一个标准
*/
package level02
object class18 {
//抽象类
abstract class DreamJob() {
var money:Double // 只有属性名,没有具体值
var vacation:Int
var boss:String
//具体属性
var name:String = "理想工作"
//抽象方法。没有等号,就是一个抽象的方法。它需要在子类中去实现
def addMoney():Unit
//具体方法
def getMoney():Unit= {
println(s"发工资:${money}元")
}
}
//子类:具体类
class PE extends DreamJob{
var money:Double = 14500
var vacation:Int = 4
var boss:String = "无人"
def addMoney():Unit = {
money *= 1.1
}
override def getMoney():Unit = {
println(s"上银行卡:${money}元")
}
}
def main(args:Array[String]): Unit = {
// new DreamJob()报错
val pe1 = new PE()
pe1.addMoney()
pe1.getMoney()
}
}