Entwurf
Planen Sie die Hierarchie: Wählen Sie die abstrakte Basisklasse, listen Sie konkrete Formen auf, legen Sie Felder und Methoden fest und definieren Sie einfache polymorphe Operationen.
Entwurf ist eine kostenlose Java Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Java Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Java Academy-Kurs umfasst insgesamt 3 Lektionen.
Ziel und Umfang
Ziel: Erstellen Sie eine kleine Hierarchie von Formen mit einer abstrakten Basisklasse (Shape) und einigen konkreten Formen (Circle, Rectangle). Wir entwerfen zuerst gemeinsame Operationen und bestätigen den Plan anschließend mit kleinen Code-Prototypen.
Formen und Felder
Formen: Circle (radius), Rectangle (width, height). Halten Sie Felder nur dort, wo sie hingehören: radius in Circle, width/height in Rectangle. Die Basisklasse enthält Verhaltensverträge, nicht jedes einzelne Feld.
Operationen und Polymorphie
Gemeinsame Operationen: area() und perimeter(). Wir deklarieren sie in Shape, damit jede Shape-Instanz diese Aufrufe beantworten kann. Eine Liste von Shape kann anschließend gemischte Circle- und Rectangle-Objekte enthalten und sie einheitlich verarbeiten.
Code: API-Entwurf
Prototyp 1: Definieren Sie Shape mit area und perimeter sowie eine einfache Circle-Klasse. So prüfen Sie, ob die gemeinsame API für einen konkreten Typ funktioniert.
public class Main {
// Minimal API sketch to validate the design
static abstract class Shape {
abstract double area();
abstract double perimeter();
}
static class Circle extends Shape {
double radius;
Circle(double r) { radius = r; }
double area() { return Math.PI * radius * radius; }
double perimeter() { return 2 * Math.PI * radius; }
}
public static void main(String[] args) {
Shape s = new Circle(2.0);
System.out.println("area=" + s.area());
System.out.println("perimeter=" + s.perimeter());
}
}
Collections und Ausgabe
Später speichern wir Formen in einer Liste und geben Zusammenfassungen wie Typ, Fläche und Umfang aus. Ein kleiner Formatierer hält die Ausgabe auf mobilen Geräten übersichtlich: eine Form pro Zeile, auf zwei Dezimalstellen gerundet.
Code: Liste von Formen
Prototyp 2: Kombinieren Sie Circle und Rectangle in einem Array vom Typ Shape und geben Sie jedes Element aus. Die Methoden der Basisklasse ermöglichen eine einheitliche Verarbeitung (Polymorphie).
public class Main {
static abstract class Shape {
abstract double area();
abstract double perimeter();
String info() {
// default helper for neat printing
return String.format("area=%.2f, per=%.2f", area(), perimeter());
}
}
static class Circle extends Shape {
double radius;
Circle(double r) { radius = r; }
double area() { return Math.PI * radius * radius; }
double perimeter() { return 2 * Math.PI * radius; }
public String toString() { return "Circle " + info(); }
}
static class Rectangle extends Shape {
double w, h;
Rectangle(double w, double h) { this.w = w; this.h = h; }
double area() { return w * h; }
double perimeter() { return 2 * (w + h); }
public String toString() { return "Rectangle " + info(); }
}
public static void main(String[] args) {
Shape[] arr = { new Circle(2.0), new Rectangle(3.0, 4.0) };
for (int i = 0; i < arr.length; i = i + 1) {
System.out.println(arr[i]);
}
}
}
Überprüfung des Basisdesigns
Kurze Überprüfung: Welche Elemente gehören bei diesem Projekt in die abstrakte Shape-Basisklasse?
Zusammenfassung
Zusammenfassung: Die Basisklasse deklariert area und perimeter. Unterklassen speichern formspezifische Daten und implementieren die Berechnung. Mit Listen von Shape können wir gemischte Formen in einer Schleife ausgeben.
Häufig gestellte Fragen
Ist die Lektion „Entwurf“ kostenlos?
Ja — der vollständige Text von „Entwurf“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Java Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Java Academy-Kurs umfasst insgesamt 3 Lektionen.
Was lerne ich in „Entwurf“?
Planen Sie die Hierarchie: Wählen Sie die abstrakte Basisklasse, listen Sie konkrete Formen auf, legen Sie Felder und Methoden fest und definieren Sie einfache polymorphe Operationen. Du übst Java Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Java Academy zu starten?
Keine Vorkenntnisse erforderlich. Java Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 3.
Wie lange dauert die Lektion „Entwurf“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Java Academy-Lektion Code schreiben und ausführen?
Ja. Jede Java Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.