抽象类没有实现的成员是指没有初始化的什么或者没有实现的什么
时间: 2024-03-23 17:41:29 浏览: 19
抽象类没有实现的成员是指没有实现的方法或者属性。
在抽象类中,可以定义抽象方法和抽象属性。抽象方法是一种没有实现的方法,只有定义,而没有具体的实现。抽象属性是一种没有初始化的属性,只有定义,而没有具体的赋值。抽象方法和抽象属性都需要在子类中进行具体的实现或赋值。
例如,下面是一个简单的抽象类Animal,其中有一个抽象方法和一个抽象属性:
```
abstract class Animal {
def sound(): Unit // 抽象方法,动物发出的声音
val category: String // 抽象属性,动物的种类
}
```
在上面的例子中,sound()方法和category属性都没有具体的实现或赋值,它们需要在子类中进行具体的实现或赋值。例如,下面是一个继承自Animal类的具体子类Cat:
```
class Cat extends Animal {
override def sound(): Unit = println("喵喵喵") // 实现sound()方法
val category: String = "猫科动物" // 赋值category属性
}
```
在Cat类中,实现了sound()方法,并赋值了category属性。由于Animal类中的sound()方法和category属性都是抽象的,因此Cat类必须实现这两个成员,否则会编译错误。
相关问题
继承抽象类 抽象类实现接口 是什么设计模式
这不是一个特定的设计模式,而是一种常见的设计方式。在这种情况下,抽象类实现接口是为了实现接口中定义的方法,同时提供一些默认的实现,使得继承该抽象类的具体子类可以选择性地覆盖这些方法。
这种设计方式可以使代码更加灵活和可扩展。通过抽象类提供默认的实现,可以减少子类需要实现的方法数量,同时又能保证接口的约束。这样,在继承该抽象类的子类中,只需要关注自己需要实现或覆盖的方法即可。
总结起来,这种设计方式可以通过抽象类提供默认实现,同时又能保持接口的约束,实现代码的复用和扩展。
抽象类没有成员变量,只有成员函数
这个说法是不正确的。抽象类和普通类一样,可以包含成员变量和成员函数。
抽象类的成员变量和成员函数与普通类的成员变量和成员函数一样,都可以有修饰符、访问级别、返回类型、参数列表等等,只是抽象类中可以包含抽象方法,而普通类中不能包含抽象方法。
抽象类中的抽象方法没有方法体,只有方法名、参数列表和返回类型,它们的具体实现由子类来完成。而抽象类中的非抽象方法可以有方法体,也可以没有方法体。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)