二、通过抽象类定义一个鸟类的模板,然后通过抽象的鸟类派生出鸵鸟类(不能飞,只能跑)、麻雀(能飞)。Java编写
时间: 2024-03-20 14:40:56 浏览: 108
Java 抽象类
好的,以下是Java代码实现:
```java
// 定义抽象鸟类
abstract class Bird {
// 定义鸟的名字属性
private String name;
// 构造函数
public Bird(String name) {
this.name = name;
}
// 抽象方法:鸟的叫声
public abstract void chirp();
// 抽象方法:判断鸟是否能飞
public abstract boolean canFly();
// getter方法:获取鸟的名字
public String getName() {
return name;
}
}
// 鸵鸟类
class Ostrich extends Bird {
// 构造函数
public Ostrich(String name) {
super(name);
}
// 实现抽象方法:鸵鸟的叫声
public void chirp() {
System.out.println(get() + "的叫声:咯咯咯");
}
// 实现抽象方法:判断鸵鸟是否能飞
public boolean canFly() {
return false;
}
}
// 麻雀类
class Sparrow extends Bird {
// 构造函数
public Sparrow(String name) {
super(name);
}
// 实现抽象方法:麻雀的叫声
public void chirp() {
System.out.println(getName() + "的叫声:嘤嘤嘤");
}
// 实现抽象方法:判断麻雀是否能飞
public boolean canFly() {
return true;
}
}
public class BirdTest {
public static void main(String[] args) {
// 创建鸵鸟对象
Ostrich ostrich = new Ostrich("鸵鸟");
System.out.print(ostrich.getName() + ":");
ostrich.chirp();
System.out.println(ostrich.getName() + "能飞吗?" + ostrich.canFly());
// 创建麻雀对象
Sparrow sparrow = new Sparrow("麻雀");
System.out.print(sparrow.getName() + ":");
sparrow.chirp();
System.out.println(sparrow.getName() + "能飞吗?" + sparrow.canFly());
}
}
```
在这个程序中,我们定义了一个抽象的`Bird`类,其中包含了鸟的名字属性和两个抽象方法:鸟的叫声和判断鸟是否能飞。然后,我们派生出鸵鸟类`Ostrich`和麻雀类`Sparrow`,并实现了它们各自的叫声和能飞的判断方法。最后,我们在测试程序中创建了一个鸵鸟对象和一个麻雀对象,并输出它们的叫声和能飞的判断结果。
阅读全文