Créé pour l'apprentissage orienté objet. J'ai imaginé l'assemblage de Strike Gundam et Strike Dagger, et l'ai créé avec les caractéristiques communes de chacun à l'esprit.
Créé par la procédure suivante.
Créez la bière, l'épée et le lanceur sous la forme d'une interface et décrivez chaque armement comme suit.
Striker.java
package practice;
public interface Striker {
String[] arrayAile = {"Fusil à faisceau haute énergie de 57 mm", "Sabre à poutre", "Écran anti-faisceau"};
String[] arraySword = {"15.Épée anti-navire 78m "Schwert Geber"", "Beam Boomerang "Midas Messer"", "Ancre de fusée "Panzer Eisen""};
String[] arrayLauncher = {"Canon à impulsion ultra-haute de 320 mm "Agni"", "Canon anti-navire des Balkans de 120 mm", "Lanceur d'armes à feu de 350 mm"};
}
Strike Gundam et Strike Dagger utilisent le cadre de la série X100 comme squelette de base. Une autre caractéristique est le système du Striker Pack. Décrivez ces fonctionnalités dans X100frame.java comme suit.
X100frame.java
package practice;
//Puisqu'il est supposé qu'il sera hérité, il est abstrait.
public abstract class X100frame {
private String name = "";
private String type = "Cadre de la série X100";
private String feature = "Système Striker Pack";
public X100frame(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
public String getType() {
return this.type;
}
public String getFeature() {
return this.feature;
}
public void list() {
System.out.println("Liste armée:");
System.out.println("-------------------------");
}
//Comme il sera remplacé du côté de la sous-classe, écrivez une méthode vide
public abstract void printData();
public abstract void printDataPersonal();
public abstract void printDataAile();
public abstract void printDataSword();
public abstract void printDataLauncher();
}
Créez Strike Gundam comme classe STRIKE et Strike Dagger comme classe DAGGER. À ce moment-là, héritez de la classe X100frame afin que les trois interfaces créées à l'étape 1 puissent également être utilisées.
STRIKE.java
package practice;
//Hériter de la classe X100frame et activer l'interface Striker
public class STRIKE extends X100frame implements Striker {
public STRIKE() {super("Frapper Gundam"); }
//Caractéristiques de la grève nue uniquement
private String Model = "GAT-X105";
private String Armor = "Armure à décalage de phase";
private double height = 17.72;
private double weight = 64.80;
private String WEAPON[] = {"Egerstern", "Armure Schneider"};
//Une méthode pour afficher les caractéristiques d'une frappe simple
@Override
public void printData() {
System.out.println("Nom de la combinaison mobile:" + this.getName());
System.out.println("Numéro de modèle:" + this.Model);
//Les cadres et les fonctionnalités héritent de la classe X100frame
System.out.println("flamme:" + this.getType());
System.out.println("Fonctionnalité:" + this.getFeature());
System.out.println("Armure:" + this.Armor);
System.out.println("Hauteur totale:" + this.height + "m");
System.out.println("poids:" + this.weight + "t");
System.out.println();
}
@Override
public void printDataPersonal() {
for(int a = 0; a < WEAPON.length; a++ ) {
System.out.print(WEAPON[a] + " ");
}
System.out.println();
System.out.println("------------");
}
//Sort l'armement lorsqu'il est équipé d'un pack de percuteurs
@Override
public void printDataAile() {
for(int a = 0; a < arrayAile.length; a++ ) {
System.out.print(arrayAile[a] + " ");
}
System.out.println();
System.out.println("------------");
}
@Override
public void printDataSword() {
for(int a = 0; a < arraySword.length; a++ ) {
System.out.print(arraySword[a] + " ");
}
System.out.println();
System.out.println("------------");
}
@Override
public void printDataLauncher() {
for(int a = 0; a < arrayLauncher.length; a++ ) {
System.out.print(arrayLauncher[a] + " ");
}
System.out.println();
System.out.println("------------");
}
}
Frapper Gundam
DAGGER.java
package practice;
//Hériter de la classe X100frame et activer l'interface Striker
public class DAGGER extends X100frame implements Striker {
public DAGGER() {super("Dague de frappe"); }
//Caractéristiques du poignard nu uniquement
private String Model = "GAT-01A1";
private String Armor = "Armure laminée (corps uniquement)";
private double height = 18.00;
private double weight = 57.05;
private String WEAPON[] = {"Egerstern", "Pod de mitrailleuse de 52 mm", "Carbine à poutre", "12.Mitrailleuse interpersonnelle 5 mm x 2"};
//Méthode pour afficher les caractéristiques de la dague de frappe simple uniquement
@Override
public void printData() {
System.out.println("Nom de la combinaison mobile:" + this.getName());
System.out.println("Numéro de modèle:" + this.Model);
//Les cadres et les fonctionnalités héritent de la classe X100frame
System.out.println("flamme:" + this.getType());
System.out.println("Fonctionnalité:" + this.getFeature());
System.out.println("Armure:" + this.Armor);
System.out.println("Hauteur totale:" + this.height + "m");
System.out.println("poids:" + this.weight + "t");
System.out.println();
}
@Override
public void printDataPersonal() {
for(int a = 0; a < WEAPON.length; a++ ) {
System.out.print(WEAPON[a] + " ");
}
System.out.println();
System.out.println("------------");
}
//Sort l'armement lorsqu'il est équipé d'un pack de percuteurs
@Override
public void printDataAile() {
for(int a = 0; a < arrayAile.length; a++ ) {
System.out.print(arrayAile[a] + " ");
}
System.out.println();
System.out.println("------------");
}
@Override
public void printDataSword() {
for(int a = 0; a < arraySword.length; a++ ) {
System.out.print(arraySword[a] + " ");
}
System.out.println();
System.out.println("------------");
}
@Override
public void printDataLauncher() {
for(int a = 0; a < arrayLauncher.length; a++ ) {
System.out.print(arrayLauncher[a] + " ");
}
System.out.println();
System.out.println("------------");
}
}
Dague de frappe
Créez une instance et appelez chaque méthode.
Factory.java
package practice;
public class Factory {
public static void main(String[] args) {
STRIKE s = new STRIKE();
DAGGER d = new DAGGER();
s.printData();
s.list();
s.printDataPersonal();
s.printDataAile();
s.printDataSword();
s.printDataLauncher();
System.out.println();
d.printData();
d.list();
d.printDataPersonal();
d.printDataAile();
d.printDataSword();
d.printDataLauncher();
}
}
C'était une sortie comme ça.
Nom de la combinaison mobile: Strike Gundam
Numéro de modèle: GAT-X105
Cadre: cadre de la série X100
Caractéristiques: système Striker Pack
Armure: armure à changement de phase
Hauteur hors tout: 17.72m
Poids: 64.8t
Liste armée:
-------------------------
Armure éternelle Schneider
------------
Sabre à faisceau de fusil à haute énergie de 57 mm contre bouclier
------------
15.78m épée anti-navire "Schwert Geber" Boomeran à poutre "Midas Messer" Ancre de fusée "Panzer Eisen"
------------
Canon à impulsion ultra-haute de 320 mm "Agni" Canon anti-navire de 120 mm des Balkans Lanceur de canon de 350 mm
------------
Nom de la combinaison mobile: Strike Dagger
Numéro de modèle: GAT-01A1
Cadre: cadre de la série X100
Caractéristiques: système Striker Pack
Armure: armure laminée (corps uniquement)
Hauteur hors tout: 18.0m
Poids: 57.05t
Liste armée:
-------------------------
Egerstern 52mm Machine Gun Pod Beam Carbin 12.Mitrailleuse interpersonnelle 5 mm x 2
------------
Sabre à faisceau de fusil à haute énergie de 57 mm contre bouclier
------------
15.78m épée anti-navire "Schwert Geber" Boomeran à poutre "Midas Messer" Ancre de fusée "Panzer Eisen"
------------
Canon à impulsion ultra-haute de 320 mm "Agni" Canon anti-navire de 120 mm des Balkans Lanceur de canon de 350 mm
------------
C'est tout.
Recommended Posts