抽象类、抽象字段、抽象方法
申明抽象类使用abstract,在scala中,抽象类和物质中的方法、字段和类型都可以是抽象的。
(1)抽象字段:具体类中给字段申明的时候不给字段赋值,该字段变为抽象字段
Class Hello{
<span> </span>Var number:int=_
} //非抽象类,申明字段必须赋值(具体值或者用占位符_代替,且使用占位符的时候必须为var)
Abstract class HelloEverybody(val name: String){
<span> </span>Var id:int
<span> </span>Var age:int
}
(2)抽象方法:抽象方法不需要(也不允许)有abstract修饰符,一个方法只要是没有实现(没有等号或没有方法体),它就是抽象的,在子类中覆写或者覆写接口中的非抽象方法(方法有具体实现)要使用override关键字。
(3)抽象类型:scala中的类型成员也可以是抽象的。
抽象字段和抽象方法都是只有字段或者方法的定义,而没有字段或者方法的具体实现。
抽象类、抽象字段、抽象方法
申明抽象类使用abstract,在scala中,抽象类和物质中的方法、字段和类型都可以是抽象的。
(1)抽象字段:具体类中给字段申明的时候不给字段赋值,该字段变为抽象字段
Class Hello{
<span> </span>Var number:int=_
} //非抽象类,申明字段必须赋值(具体值或者用占位符_代替,且使用占位符的时候必须为var)
Abstract class HelloEverybody(val name: String){
<span> </span>Var id:int
<span> </span>Var age:int
}
(2)抽象方法:抽象方法不需要(也不允许)有abstract修饰符,一个方法只要是没有实现(没有等号或没有方法体),它就是抽象的,在子类中覆写或者覆写接口中的非抽象方法(方法有具体实现)要使用override关键字。
(3)抽象类型:scala中的类型成员也可以是抽象的。
抽象字段和抽象方法都是只有字段或者方法的定义,而没有字段或者方法的具体实现。