java编程做这个题综合运用继承,多态 集合 来做下面的问题

模拟一个军队作战,军队里面有各种兵,骑兵,步兵等等。。。每种兵的攻击敌人方式不一样
建立各种各样的兵 每种10个,至少3种,然后建立一个军官,军官也会上场去攻击敌人,但是军官
还有一种行为,就是发号,军官发号了,所有的兵,无论什么兵都去战场攻击敌人
最后程序运行效果就是一个军官开始发号,然后所有的士兵包括军官都去打仗,显示每个人攻击敌人的方式

第1个回答  推荐于2018-05-07
1.public abstract class Bing {
private String bingType;
public Bing(String bingType)
{
this.bingType=bingType;
}
public String getType()
{
return bingType;
}
abstract void atract();
}
class QiBing extends Bing{
public QiBing(String bingType) {
super(bingType);
}
@Override
void atract() {
System.out.println(this.getType()+"骑马拿刀砍人");
}
}
class BuiBing extends Bing{
public BuiBing(String bingType) {
super(bingType);
}
@Override
void atract() {
System.out.println(this.getType()+"拿刀砍人");
}
}
class GongBing extends Bing{
public GongBing(String bingType) {
super(bingType);
}
@Override
void atract() {
System.out.println(this.getType()+"拿剑射人");
}
}
interface Signal{
public void SendSignal();
}
class JuGuan extends Bing implements Signal{
public JuGuan(String bingType) {
super(bingType);
}
@Override
public void SendSignal() {
System.out.println("军官开始发进攻信号了");
}
@Override
void atract() {

}
}
2.

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

class DaZhang{
List<Bing> list=new ArrayList<Bing>();
public void addSiBing(Bing bing)
{
list.add(bing);
}
public void display()
{
Iterator<Bing> iterator=list.iterator();
while(iterator.hasNext())
{
iterator.next().atract();
}
}
}
public class Text {
public static void main(String[] args) {
DaZhang daZhang=new DaZhang();
JuGuan juGuan=new JuGuan("军官");
Bing b1=new QiBing("骑兵");
Bing b2=new QiBing("骑兵");
Bing b3=new QiBing("骑兵");
Bing b4=new BuiBing("步兵");
Bing b5=new BuiBing("步兵");
Bing b6=new BuiBing("步兵");
Bing b7=new GongBing("弓箭手");
Bing b8=new GongBing("弓箭手");
Bing b9=new GongBing("弓箭手");
Bing b10=new GongBing("弓箭手");
daZhang.addSiBing(b1);
daZhang.addSiBing(b2);
daZhang.addSiBing(b3);
daZhang.addSiBing(b4);
daZhang.addSiBing(b5);
daZhang.addSiBing(b6);
daZhang.addSiBing(b7);
daZhang.addSiBing(b8);
daZhang.addSiBing(b9);
daZhang.addSiBing(b10);
juGuan.SendSignal();
daZhang.display();
}
}
3.显示的结果:本回答被网友采纳

java编程做这个题综合运用继承,多态 集合 来做下面的问题
1.public abstract class Bing { private String bingType;public Bing(String bingType){ this.bingType=bingType;} public String getType(){ return bingType;} abstract void atract();} class QiBing extends Bing{ public QiBing(String bingType) { super(bingType);} Override void atract(...

Java多态,继承,接口等知识综合题,这个我不太会,希望大家帮帮忙,谢谢了...
1、新建一个Roboot类,这个类定义公共的功能,model、name,walk()2、新建两个接口,说话和分析图片 3 、新建机器人A类 RobootA 机器人B和C,你参考这个写就可以 4、测试 学习

JAVA中的继承和多态问题,问题解决再多加50财富,谢谢! 要求利用继承和多 ...
MyCircle文件 import static java.lang.Math.*;public class MyCircle extends MyShape { private double radius;Override public double getS() { return PI * pow(radius, 2);} Override public double getL() { return 2 * PI * radius;} public double get_radius() { return radius;} pub...

java继承多态的练习题
1.需要有继承关系的存在 2.需要有方法的重写 3.需要有父类的引用指向子类对象 希望对你有帮助。第一题应该选D,第二题选C,D。第一题属于多态,methodB()方法属于子类,父类没有重写子类的方法 第二题属于继承,子类可以继承父类的方法

【JAVA基础】一个案例搞懂类、对象、重载、封装、继承、多态、覆盖...
初学JAVA时,总会对一些概念一知半解,相互混淆,不明其设计的用意,如类、对象、重载、封装、继承、多态、覆盖、抽象类、接口概念。为便于理解和巩固,本文将基于一个案例及其变形,展现各个概念的定义、设计用意、使用规范和注意事项。长文警告,建议先收藏后阅读!为控制篇幅,本文将分上中下三篇讲解...

JAVA 作业 实验名称:接口,继承与多态
2.Shape:package com.test;public interface Shape {public double area();public double perimeter();}Circle: package com.test;public class Circle implements Shape {double r = 5;double pi = 3.14;@Overridepublic double area() {return pi*r*r;}@Overridepublic double perimeter() {...

Java基础封装继承多态
Java基础封装继承多态封装、继承和多态封装、继承和多态是面向对象编程的三大特性。封装封装的目的是为了保证变量的安全性,使用者不必在意具体实现细节,而只是通过外部接口即可访问类的成员,如果不进行封装,类中

JAVA中关于继承,上转型下转型的问题。
一个引用类型变量如果声明为父类的类型,但实际引用的是子类对象,那么该变量就不能再访问子类中添加的属性和方法这句话是有问题的。1。该变量可以访问子类的方法,不过方法必须是子类重写的父类的方法,并且编译的时候调用的是父类的方法,而在运行的时候就是访问的子类重写的方法。一句话:因为多态。2...

为什么要使用java的继承与多态?使用java的继承与多态的好处是什么?
继承和多态是面向对象的几大特性之一 继承:如果你的多个类中具有相同的属性,就可以把那些相同的属性提取出来做为父类,其他那些类继承父类,子类将会拥有你类的所有的非私有的属性和方法,这样即可以减少代码的冗余,又增强了代码的可读性和健壮性 多态:多态分为静态的多态和动态的多态,静态的多态是...

...矩型,圆)的的周长,面积,要求用到继承,多态,抽象类,接口,内部类等...
1.求解用java写(如三角形,矩型,圆)的的周长,面积,要求用到继承,多态,抽象类,接口,内部类等。 10 小环201314 | 浏览2850 次 |举报 我有更好的答案推荐于2017-12-15 13:49:36 最佳答案 \/\/抽象的形状类 public abstract class Shape{ }\/\/接口 public interface IDisplay{ void display(); \/\/显示...

相似回答