Klassen und Objekte
Definieren Sie Klassen mit Eigenschaften und Methoden, verwenden Sie Konstruktoren, verstehen Sie Vererbung und Interfaces und schreiben Sie idiomatischen objektorientierten Kotlin-Code.
Klassen und Objekte ist eine kostenlose Android Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. 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 Android Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Android Academy-Kurs umfasst insgesamt 4 Lektionen.
Was ist eine Klasse?
Eine Klasse ist ein Bauplan zum Erstellen von Objekten. Sie bündelt zusammengehörige Daten (Eigenschaften) und Verhalten (Funktionen).
class Dog— definiert den Bauplanval myDog = Dog()— erstellt eine Instanz (ein Objekt)
Beispiel: eine User-Klasse, die Name, Alter und E-Mail-Adresse enthält.
Eine Klasse definieren
Kotlin-Klassen verfügen über eine kompakte Syntax für den primären Konstruktor:
class User(val name: String, var age: Int) {
fun greet(): String {
return "Hi, I'm $name and I'm $age years old."
}
}
fun main() {
val user = User("Alice", 28)
println(user.name) // Alice
println(user.age) // 28
user.age = 29 // var can be changed
println(user.greet())
}Datenklassen
Eine Datenklasse eignet sich ideal zum Speichern von Daten. Fügen Sie das Schlüsselwort data hinzu, und Kotlin generiert automatisch:
equals()/hashCode()— Vergleich nach WerttoString()— menschenlesbare Ausgabecopy()— eine geänderte Kopie erstellen
Beispiel für eine Datenklasse
Datenklassen spielen ihre Stärken bei der Darstellung von Modellobjekten aus:
data class Product(val id: Int, val name: String, val price: Double)
fun main() {
val p1 = Product(1, "Laptop", 999.99)
val p2 = p1.copy(price = 899.99) // new copy with changed price
println(p1) // Product(id=1, name=Laptop, price=999.99)
println(p2) // Product(id=1, name=Laptop, price=899.99)
println(p1 == p2) // false (different price)
}Begleitobjekte
Ein Begleitobjekt enthält Member, die zur Klasse selbst und nicht zu einer Instanz gehören — ähnlich wie static in Java.
Greifen Sie über den Klassennamen darauf zu: User.create()
Beispiel für ein Begleitobjekt
Verwenden Sie Begleitobjekte für Factory-Methoden und Konstanten:
class Counter {
var count = 0
fun increment() { count++ }
companion object {
const val MAX = 100
fun create(): Counter = Counter()
}
}
fun main() {
val c = Counter.create()
c.increment()
c.increment()
println(c.count) // 2
println(Counter.MAX) // 100
}Vererbung
Kotlin-Klassen sind standardmäßig final (sie können nicht erweitert werden). Markieren Sie eine Klasse mit open, um Vererbung zu ermöglichen.
open class Animal— kann erweitert werdenclass Dog : Animal()— erweitert Animaloverride fun sound()— überschreibt eine Funktion der übergeordneten Klasse
Beispiel für Vererbung
Erstellen Sie eine einfache Klassenhierarchie:
open class Shape {
open fun area(): Double = 0.0
}
class Circle(val radius: Double) : Shape() {
override fun area(): Double = 3.14159 * radius * radius
}
class Rectangle(val w: Double, val h: Double) : Shape() {
override fun area(): Double = w * h
}
fun main() {
val shapes: List<Shape> = listOf(
Circle(5.0),
Rectangle(4.0, 3.0)
)
for (s in shapes) println("Area: ${s.area()}")
}Object-Deklarationen
Eine object-Deklaration erstellt ein Singleton — eine Klasse mit genau einer Instanz, die beim ersten Zugriff verzögert erstellt wird.
Verwenden Sie dies für Hilfsfunktionen, Manager oder alles, wovon es nur eine Instanz geben soll.
Schnelltest
Welche Funktion stellt eine Kotlin-data class automatisch bereit?
Rückblick: Klassen und Objekte
Sie haben die grundlegenden Bausteine der objektorientierten Programmierung in Kotlin gelernt:
- Klassen mit primären Konstruktoren und Member-Funktionen
data class— automatisch generierte Methoden für equals, toString und copycompanion object— Member auf Klassenebene (statische Member)open-Klassen undoverridefür Vererbungobject-Deklarationen für Singletons
Sie sind bereit, echte Android-Apps zu entwickeln!
Häufig gestellte Fragen
Ist die Lektion „Klassen und Objekte“ kostenlos?
Ja — der vollständige Text von „Klassen und Objekte“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Android Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Android Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Klassen und Objekte“?
Definieren Sie Klassen mit Eigenschaften und Methoden, verwenden Sie Konstruktoren, verstehen Sie Vererbung und Interfaces und schreiben Sie idiomatischen objektorientierten Kotlin-Code. Du übst Android 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 Android Academy zu starten?
Keine Vorkenntnisse erforderlich. Android 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 2 von 4.
Wie lange dauert die Lektion „Klassen und Objekte“?
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 Android Academy-Lektion Code schreiben und ausführen?
Ja. Jede Android 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.
Alle Lektionen in diesem Kurs
- Null-Sicherheit
- Klassen und Objekte
- Datenklassen und versiegelte Klassen
- Erweiterungs- und höherwertige Funktionen