Java Generics Tutorial | Typparamter | |Wildcards | alles was du wissen musst in einem Video

preview_player
Показать описание
Hallo zusammen,
herzlich Willkommen bei ModelMyMind.
In diesem Video werden wir kennenlernen, was Generics sind, wozu sie nützlich sind und wie wir sie in Java einsetzen können.

Der Begriff „Generics“ steht für parametrisierte Typen. Generics bieten Sprachmittel an mit denen Klassen und Methoden mit Typparametern parametrisiert werden können.
Sie ermöglichen Typsicherheit trotz generischer Programmierung. 
Es gibt bestimmte Herausforderungen auf die Entwickler gestoßen sind, bevor es überhaupt Generics gab. Welche Herausforderung es sein, werden wir im Code veranschaulichen. Wir werden uns Schritt für Schritt dem Thema annähern. Du wirst in diesem Video alles kennenlernen, was du zu Generics wissen musst.

Abonniere meinen Kanal und aktiviere die Glocke, um keine neuen Videos von mir zu verpassen.

#generics #java #programmieren

0:00 - Intro
0:20 - Generics - Typparameter, Typsicherheit, Wildcards

Рекомендации по теме
Комментарии
Автор

Wenn dir das Video gefallen hat, dann abonniere meinen Kanal und aktiviere dabei die Glocke, um keine lehrreichen Videos zu verpassen! :)

ModelMyMind
Автор

Gutes und verständliches Video, du kannst ja bei Kamera-Einlagen ein wenig die Belichtung optimieren ;)

Ich persönlich kenne Generics schon, aber ich finde es toll, dass ein Kanal das Thema auch auf Deutsch behandelt.
Das könnte besonders für jüngeres Publikum sehr interessant sein.

justusmzb
Автор

Ansich ein sehr gutes Video und du hast es geschafft, die Thematik und die dahinterstehende Problematik innerhalb von 13 Minuten aufzuzeigen. Das hat mein Professor nicht so gut hingekriegt. Danke dir!
Ergänzung: Ab Minute 11:30 beschreibst du kurz, wie mehrere Typparameter zu verwenden sind mittels kommagetrennter Auflistung. Hier verwirrt, dass das Komma den gesamten vorherigen Abschnitt trennt, nicht erst hinter *extends* in den <>. Man könnte meinen, dass Nutzen von Kommata zur Auflistung werde für das weitere "extenden" bzw. einschränken der Typparameter genutzt.
Kurz erklärt für alle die das hier lesen:
Eine Trennung mit Kommata bedeutet eine Auflistung von Typparametern, d.h. bei einem Konstruktoraufruf muss dann auch eine entsprechende Anzahl an Typparametern übergeben werden.
Möchte man einen Typparameter weiter einschränken mittels *extends* so macht man dies mit *&*:

"public class Kartenleser <T extends Karte & auslesbar> {}"

Wichtig zu erwähnen ist dabei, dass eine Auflistung mittels des *&*-Zeichens maximal *eine* Klasse erlaubt, diese wird als erste genannt. *Alles darauffolgende* sind Interfaces. In meinem Beispiel wäre *auslesbar* also ein Interface. Es bedeutet, dass der zu übergebene Typparameter bei Konstruktoraufruf von der Klasse "Karte" erben muss (bzw. "Karte" ist) *und* das Interface "'auslesbar*" implementiert haben muss.

rhobxn
Автор

Hi,

danke für die Erklärung von Generics. Zu Deinem Beispiel habe ich eine Frage wieso Du hier Generics angewendet hast und nicht folgendes gemacht hast, also ein Interface angewendet hast?

public interface KartenInterface {
public String lesen();
}

public class Girokarte implements KartenInterface {
public String lesen() {
return "Bar";
}
}

public class Kreditkarte implements KartenInterface {
public String lesen() {
return "Foo";
}
}

public class Kartenleser {
public KartenInterface karte;
public Kartenleser(KartenInterface karte) {
this.karte = karte;
}
public String lesen() {
return this.karte.lesen();
}
}

Kartenleser kartenleser = new Kartenleser(new Girokarte());

hanswurst
Автор

Wo ist genau der Unterschied zwischen < T extends Tier> und < ? extends Tier> ?

spherez
Автор

Was ist der Unterschied zwischen einem Wildcard und einem generic

bluem