-
抽象:抽象
-
抽象属性:只有属性名,没有具体的值。
-
抽象类
- 有关键字 abstract
- 抽象成员:只有属性名,没有具体的值 没有等号
- 不能被 new
- 作用:给其他的子类立一个标准!
object class24 {
// 抽象类
abstract class DreamJob() {
var money: Double // 只有属性名,没有具体的值
var vacation: Int
var boss: String
}
// 子类:具体类
class PE extends DreamJob {
var money: Double = 14500
var vacation: Int = 4
var boss: String = "无人"
}
def main(args: Array[String]): Unit = {
// // new DreamJob() // 报错
val pe1 = new PE()
println
(pe1.money)
}
}
2.
-
抽象类:
DreamJobvar money:Double// 只有属性名,没有具体的值。var vacation:Int// 抽象属性var name:String = "理想工作"
-
抽象方法:没有内容,就是一个抽象的方法,它需要在子类中去实现
-
用法示例
object class25 {
abstract class DreamJob() {
var money: Double // 只有属性名,没有具体的值。
var vacation: Int // 抽象属性
var name: String = "理想工作"
// 抽象方法:没有内容,就是一个抽象的方法,它需要在子类中去实现
def addMoney(): Unit
// 用法示例
def getMoney(): Unit = {
println(s"${name}工资:${money}元")
}
}
// 子类:具体类
class PE extends DreamJob {
var money: Double = 14000
var vacation: Int = 4
var boss: String = "无人"
def addMoney(): Unit = {
money *= 1.1
}
}
def main(args: Array[String]): Unit = {
// val dj = new DreamJob() // 报错
val pe1 = new PE()
pe1.getMoney()
pe1.addMoney()
pe1.getMoney()
}
}