Game某游戏中有轰炸机、直升机、重型坦克、轻型坦克、飞行兵、步兵等六大兵种,下面设计一组类和接口,满足如下设计要求:
轰炸机、直升机均属于飞行器这一大类;
重型坦克、轻型坦克均属于坦克这一大类;
飞行兵、步兵均属于人这一大类;
重型坦克、轻型坦克、步兵均属于陆军;轰炸机、直升机、飞行兵均属于空军;
轰炸机、轻型坦克、步兵只能攻击陆军;
直升机、飞行兵、重型坦克即可攻击空军,也能攻击陆军。
代码如下,共有12个文件
Main.java
人.java
陆军.java
空军.java
飞行器.java
坦克.java
步兵.java
轻型坦克.java
重型坦克.java
飞行兵.java
直升机.java
轰炸机.java
本文地址:http://liuyanzhao.com/3345.html
转载请注明
轰炸机、直升机均属于飞行器这一大类;
重型坦克、轻型坦克均属于坦克这一大类;
飞行兵、步兵均属于人这一大类;
重型坦克、轻型坦克、步兵均属于陆军;轰炸机、直升机、飞行兵均属于空军;
轰炸机、轻型坦克、步兵只能攻击陆军;
直升机、飞行兵、重型坦克即可攻击空军,也能攻击陆军。
代码如下,共有12个文件
Main.java
- //Main.java
- public class Main {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- 步兵 land1 = new 步兵("步兵", 'a');
- 轻型坦克 land2 = new 轻型坦克("轻坦", 'c');
- 重型坦克 land3 = new 重型坦克("重坦", 'a');
- 直升机 plane1 = new 直升机("直飞", 'b');
- 轰炸机 plane2 = new 轰炸机("轰机", 'b');
- 飞行兵 plane3 = new 飞行兵("飞兵", 'd');
- land1.攻击(plane1);
- land1.攻击(plane2);
- land1.攻击(plane3);
- land1.攻击(land2);
- land1.攻击(land3);
- }
- }
人.java
- //人.java
- public class 人 {
- }
陆军.java
- //陆军.java
- public interface 陆军 {
- public void 攻击(Object obj);
- }
空军.java
- //空军.java
- public interface 空军 {
- public void 攻击(Object obj);
- }
飞行器.java
- //飞行器.java
- public class 飞行器 {
- }
坦克.java
- //坦克.java
- public class 坦克 {
- }
步兵.java
- //步兵.java
- public class 步兵 extends 人 implements 陆军 {
- String str;
- char c;
- public 步兵 (String str, char c){
- this.str = str;
- this.c = c;
- if(c == 'a' || c == 'A' || c == 'd' || c == 'D') {
- this.str = "A+D_" + Character.toUpperCase(c) + "_" + this.str;
- } else if(c == 'b' || c == 'B') {
- this.str = "B_" + Character.toUpperCase(c) + "_" + this.str;
- } else if(c == 'c' || c == 'C') {
- this.str = "C_" + Character.toUpperCase(c) + "_" + this.str;
- }
- }
- @Override
- public void 攻击(Object obj) {
- // TODO Auto-generated method stub
- System.out.print(str + " 遇见 " + obj.toString() + ":");
- if(str.charAt(0) == obj.toString().charAt(0)) {
- System.out.println(" 不能攻击!");
- } else {
- if(obj instanceof 重型坦克)
- System.out.println("可以攻击陆军");
- else if(obj instanceof 轻型坦克)
- System.out.println("可以攻击陆军");
- else if(obj instanceof 步兵)
- System.out.println("可以攻击陆军");
- else
- System.out.println("不能攻击空军");
- }
- }
- @Override
- public String toString() {
- // TODO Auto-generated method stub
- return str;
- }
- }
轻型坦克.java
- //轻型坦克.java
- public class 轻型坦克 extends 坦克 implements 陆军 {
- String str;
- char c;
- public 轻型坦克(String str, char c) {
- this.str = str;
- this.c = c;
- if (c == 'a' || c == 'A' || c == 'd' || c == 'D') {
- this.str = "A+D_" + Character.toUpperCase(c) + "_" + this.str;
- } else if (c == 'b' || c == 'B') {
- this.str = "B_" + Character.toUpperCase(c) + "_" + this.str;
- } else if (c == 'c' || c == 'C') {
- this.str = "C_" + Character.toUpperCase(c) + "_" + this.str;
- }
- }
- @Override
- public void 攻击(Object obj) {
- // TODO Auto-generated method stub
- System.out.print(str + " 遇见 " + obj.toString() + ":");
- if (str.charAt(0) == obj.toString().charAt(0)) {
- System.out.println(" 不能攻击!");
- } else {
- if (obj instanceof 重型坦克)
- System.out.println("可以攻击陆军");
- else if (obj instanceof 轻型坦克)
- System.out.println("可以攻击陆军");
- else if (obj instanceof 步兵)
- System.out.println("可以攻击陆军");
- else
- System.out.println("不能攻击空军");
- }
- }
- @Override
- public String toString() {
- // TODO Auto-generated method stub
- return str;
- }
- }
重型坦克.java
- //重型坦克.java
- public class 重型坦克 extends 坦克 implements 陆军 {
- String str;
- char c;
- public 重型坦克(String str, char c) {
- this.str = str;
- this.c = c;
- if (c == 'a' || c == 'A' || c == 'd' || c == 'D') {
- this.str = "A+D_" + Character.toUpperCase(c) + "_" + this.str;
- } else if (c == 'b' || c == 'B') {
- this.str = "B_" + Character.toUpperCase(c) + "_" + this.str;
- } else if (c == 'c' || c == 'C') {
- this.str = "C_" + Character.toUpperCase(c) + "_" + this.str;
- }
- }
- @Override
- public void 攻击(Object obj) {
- // TODO Auto-generated method stub
- System.out.print(str + " 遇见 " + obj.toString() + ":");
- if (str.charAt(0) == obj.toString().charAt(0)) {
- System.out.println(" 不能攻击!");
- } else {
- if (obj instanceof 重型坦克)
- System.out.println("可以攻击陆军");
- else if (obj instanceof 轻型坦克)
- System.out.println("可以攻击陆军");
- else if (obj instanceof 步兵)
- System.out.println("可以攻击陆军");
- else
- System.out.println("不能攻击空军");
- }
- }
- @Override
- public String toString() {
- // TODO Auto-generated method stub
- return str;
- }
- }
飞行兵.java
- //飞行兵.java
- public class 飞行兵 extends 人 implements 空军 {
- String str;
- char c;
- public 飞行兵(String str, char c) {
- this.str = str;
- this.c = c;
- if (c == 'a' || c == 'A' || c == 'd' || c == 'D') {
- this.str = "A+D_" + Character.toUpperCase(c) + "_" + this.str;
- } else if (c == 'b' || c == 'B') {
- this.str = "B_" + Character.toUpperCase(c) + "_" + this.str;
- } else if (c == 'c' || c == 'C') {
- this.str = "C_" + Character.toUpperCase(c) + "_" + this.str;
- }
- }
- @Override
- public void 攻击(Object obj) {
- // TODO Auto-generated method stub
- System.out.print(str + " 遇见 " + obj.toString() + ":");
- if (str.charAt(0) == obj.toString().charAt(0)) {
- System.out.println(" 不能攻击!");
- } else {
- if (obj instanceof 重型坦克)
- System.out.println("可以攻击陆军");
- else if (obj instanceof 轻型坦克)
- System.out.println("可以攻击陆军");
- else if (obj instanceof 步兵)
- System.out.println("可以攻击陆军");
- else
- System.out.println("可以攻击空军");
- }
- }
- @Override
- public String toString() {
- // TODO Auto-generated method stub
- return str;
- }
- }
直升机.java
- //直升机.java
- public class 直升机 extends 飞行器 implements 空军 {
- String str;
- char c;
- public 直升机(String str, char c) {
- this.str = str;
- this.c = c;
- if (c == 'a' || c == 'A' || c == 'd' || c == 'D') {
- this.str = "A+D_" + Character.toUpperCase(c) + "_" + this.str;
- } else if (c == 'b' || c == 'B') {
- this.str = "B_" + Character.toUpperCase(c) + "_" + this.str;
- } else if (c == 'c' || c == 'C') {
- this.str = "C_" + Character.toUpperCase(c) + "_" + this.str;
- }
- }
- @Override
- public void 攻击(Object obj) {
- // TODO Auto-generated method stub
- System.out.print(str + " 遇见 " + obj.toString() + ":");
- if (str.charAt(0) == obj.toString().charAt(0)) {
- System.out.println(" 不能攻击!");
- } else {
- if (obj instanceof 重型坦克)
- System.out.println("可以攻击陆军");
- else if (obj instanceof 轻型坦克)
- System.out.println("可以攻击陆军");
- else if (obj instanceof 步兵)
- System.out.println("可以攻击陆军");
- else
- System.out.println("可以攻击空军");
- }
- }
- @Override
- public String toString() {
- // TODO Auto-generated method stub
- return str;
- }
- }
轰炸机.java
- //轰炸机.java
- public class 轰炸机 extends 飞行器 implements 空军 {
- String str;
- char c;
- public 轰炸机(String str, char c) {
- this.str = str;
- this.c = c;
- if (c == 'a' || c == 'A' || c == 'd' || c == 'D') {
- this.str = "A+D_" + Character.toUpperCase(c) + "_" + this.str;
- } else if (c == 'b' || c == 'B') {
- this.str = "B_" + Character.toUpperCase(c) + "_" + this.str;
- } else if (c == 'c' || c == 'C') {
- this.str = "C_" + Character.toUpperCase(c) + "_" + this.str;
- }
- }
- @Override
- public void 攻击(Object obj) {
- // TODO Auto-generated method stub
- System.out.print(str + " 遇见 " + obj.toString() + ":");
- if (str.charAt(0) == obj.toString().charAt(0)) {
- System.out.println(" 不能攻击!");
- } else {
- if (obj instanceof 重型坦克)
- System.out.println("可以攻击陆军");
- else if (obj instanceof 轻型坦克)
- System.out.println("可以攻击陆军");
- else if (obj instanceof 步兵)
- System.out.println("可以攻击陆军");
- else
- System.out.println("可以攻击空军");
- }
- }
- @Override
- public String toString() {
- // TODO Auto-generated method stub
- return str;
- }
- }
本文地址:http://liuyanzhao.com/3345.html
转载请注明
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏