/*使用抽象类知识设计军队模型,包含下列类
军人(ArmyMan):抽象类
指挥官(Commander):抽象类,扩展自军人
将军(General):扩展自指挥官
师长(DivisionCommander):扩展自指挥官
连长(CompanyCommander):扩展自指挥官
排长(PlatoonLeader):扩展自军人
士兵(Soldier):扩展自军人
*/
class Question4
{
public static void main(String[] args){
Geneeral p = new Geneeral();
p.command();
}
}
//创建一个军人的抽象类
abstract class ArmyMan
{ //创建一个抽象方法
abstract void Fight ();
}
//抽象的指挥官继承了军人
abstract class Commander extends ArmyMan
{
//创建了一个抽象方法
abstract void command();
}
//将军继承了指挥官
class Geneeral extends Commander
{
// 重新指挥官的方法
void command(){
System.out.println("将军的指挥战队,各部队注意了");
}
void Fight(){
System.out.println("将军打仗,各部队要准备了");
}
}
// 师长继承了指挥官
class DivisionCommander extends Commander
{
void command(){
System.out.println("师长指挥战队,各连队注意了");
}
void Fight(){
System.out.println("师长打仗,各连队要准备了");
}
}
//连长继承了指挥官
class CompanyCommander extends Commander
{
void command(){
System.out.println("连长指挥战队,各排注意了");
}
void Fight(){
System.out.println("连长打仗,各排要准备了");
}
}
class PlatoonLeader extends ArmyMan
{
void Fight(){
System.out.println("排长开始打仗");
}
}
class Soldier extends ArmyMan
{
void Fight(){
System.out.println("士兵开始打仗");
}
}
|