Einführung in die OOP
Teil des Abschnitts Objektorientierte Programmierung der Java-Journey von Coddy. Lektion 2 von 87.
Objektorientierte Programmierung (OOP) ist eine Möglichkeit, Code mithilfe von Objekten zu strukturieren, die Daten und Verhalten enthalten.
Eine class ist ein Bauplan
public class Animal {
String name;
public Animal(String name) {
this.name = name;
}
public String makeSound() {
return this.name + " makes a sound!";
}
}Ein Objekt ist eine Instanz, die aus dem Bauplan erstellt wurde
Animal dog = new Animal("Buddy");
System.out.println(dog.makeSound());Ausgabe:
Buddy makes a sound!Mit OOP kannst du Dinge aus der realen Welt als Objekte modellieren. Jedes Objekt verfügt über Daten (Felder) und Aktionen (Methoden). Die vier Säulen der OOP sind Kapselung, Vererbung, Polymorphie und Abstraktion.
Aufgabe
EinfachErstelle eine Animal-Klasse, die die Grundlagen der OOP demonstriert:
- Ein
name-Feld (String) - Einen Konstruktor, der den Namen festlegt
- Eine
makeSound()-Methode, die"<name> makes a sound!"zurückgibt
Probier es selbst
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
Animal animal = new Animal(name);
System.out.println("Animal name: " + animal.name);
System.out.println(animal.makeSound());
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Objektorientierte Programmierung
1Grundlagen der OOP
Externe DateienEinführung in die OOPKlassen vs. ObjekteDas this-SchlüsselwortMethodenFelder (Attribute)Konstruktor-MethodeKonstruktor-ÜberladungRückblick – Einfacher Taschenrechner4Vererbung
Grundlagen der Vererbung (extends)Das super-SchlüsselwortMethoden überschreiben (@Override)Konstruktor-VerkettungDie Object-KlasseEinfache & mehrstufige VererbungWarum keine Mehrfachvererbung von KlassenZusammenfassung - Mitarbeiter-Hierarchie7Spezielle Methoden & Object-Klasse
toString()-Methodeequals() und hashCode()clone()-MethodecompareTo() und ComparableComparator-InterfaceZusammenfassung – Benutzerdefiniertes Sortieren2Zugriffsmodifikatoren & Kapselung
Überblick über ZugriffsebenenGetter- und Setter-MethodenInformation HidingDas final-SchlüsselwortRückblick – Bankkonto-Manager5Polymorphismus
Grundlagen der MethodenüberladungMethodenüberschreibung (Laufzeit)Upcasting und DowncastingDer instanceof-OperatorAbstrakte Klassen und MethodenZusammenfassung – Formenrechner8Fortgeschrittene OOP-Konzepte
Komposition vs. VererbungAggregation vs. KompositionInnere, geschachtelte & anonyme KlassenEnums und Enum-MethodenRecords (Java 16+)Sealed Classes (Java 17+)11Design Patterns Teil 1
Einführung in Design PatternsSingleton-PatternFactory-PatternBuilder-PatternObserver-PatternStrategy-Pattern14Abschlussherausforderungen
E-Learning-PlattformBanksystemSpielcharakter-EntwicklungFahrzeugvermietung3Klasseneigenschaften & Statische Member
Instanz- vs. statische VariablenStatische MethodenStatische BlöckeKonstanten (static final)Zusammenfassung – Zähler & Utility6Interfaces & Abstrakte Klassen
Einführung in InterfacesInterfaces implementierenImplementierung mehrerer InterfacesDefault- & statische Methoden in InterfacesAbstrakte Klassen vs. InterfacesFunktionale InterfacesZusammenfassung - ZahlungssystemÜbe selbstständig: Online-Java-Compiler