Pour chaque figure géométrique, il existe certaines propriétés communes, telles que le nom, la zone, etc., mais les méthodes de calcul de la zone sont différentes. Pour simplifier le développement, écrivez un programme qui définit une superclasse pour implémenter la méthode de saisie d'un nom et utiliser des méthodes abstraites pour calculer la zone.
Analyse des idées:
La soi-disant superclasse est une classe parentale abstraite. Pour obtenir le nom de la figure, il peut être réalisé via la méthode GetClass (). GetImPlename () de la classe; Méthode abstraite.
Définissez une sous-classe pour représenter un cercle, le rayon du cercle est obtenu en construisant la méthode, et la zone du cercle est obtenue en réécrivant la méthode abstraite dans la superclasse, où Pi peut être représenté par math.pi.
D'autres sont similaires à l'étape 2. Des paramètres tels que le rayon, la longueur et la largeur sont obtenus via la méthode de construction, ce qui permettra d'économiser des problèmes.
Le code est le suivant:
La copie de code est la suivante:
Forme de classe abstraite publique {
public String getName () {// Obtenez le nom du graphique
return this.getClass (). getImpLename ();
}
abstrait double getarea (); // obtenez la zone de la figure
}
classe publique Circle étend la forme {
rayon double privé;
Cercle public (double rayon) {// Obtenez le rayon du cercle
this.radius = rayon;
}
@Outrepasser
public double getarea () {// Calculez la zone du cercle
return math.pi * math.pow (Radius, 2);
}
}
classe publique Le rectangle étend la forme {
double longueur privée;
double largeur privée;
Rectangle public (double longueur, double largeur) {// Obtenez la longueur et la largeur du rectangle
this.length = longueur;
this.width = largeur;
}
@Outrepasser
Double Getarea public () {// Calculez la zone du rectangle
Longueur de retour * Largeur;
}
}
Test de classe publique {
public static void main (String [] args) {
Circle Circle = nouveau cercle (1); // Créez un objet circulaire et définissez le rayon sur 1
System.out.println ("Le nom du graphique est:" + Circle.getName ());
System.out.println ("La zone de la figure est:" + Circle.getArea ());
Rectangle rectangle = nouveau rectangle (1, 1); // créer un objet rectangle et définir la longueur et la largeur à 1
System.out.println ("Le nom du graphique est:" + rectangle.getName ());
System.out.println ("La zone de la figure est:" + rectangle.getArea ());
}
}
L'effet est montré dans l'image: