C# Tutorial #17 - Interfaces

แชร์
ฝัง
  • เผยแพร่เมื่อ 9 ม.ค. 2025

ความคิดเห็น • 32

  • @ВасёкПупкин-ч1н
    @ВасёкПупкин-ч1н 9 ปีที่แล้ว +17

    Ich glaube das Beispiel mit dem Hund bzw Katze ist etwas unglücklich gewählt.Beides sind Tiere und somit wäre eine gemeinsame Basisklasse (in meinen Augen) richtiger.Besser wäre es zB ein Interface "IGeräsch" mit einer Eigenschaft "Lautstärke" und Methode "GeräuschMachen".Dazu zB zwei Klassen "Mensch" und "Auto".So sieht man ,dass Interface dazu da ist um gemeinsame "Sachen" zu vererben und dabei komplett verschiedene Objekte zu sein.
    Hast coolen Kanal, schau deine Videos sehr gerne!
    Viel Erfolg

    • @Wunderkind777
      @Wunderkind777 5 ปีที่แล้ว

      Danke, dass ist wirklich ein besseres Beispiel. Davon jedoch abgesehen, ist der Sinn und Zweck eines Interfaces jedoch nur daran erinnert zu werden, dass man bestimmte Methoden nicht vergessen soll oder?

    • @PAR0812
      @PAR0812 3 ปีที่แล้ว +1

      @@Wunderkind777 Nein, du kannst die Objekte der Klassen, die das Interface implementieren, ja in ein Array vom Typ des Interfaces stecken. Das wäre ohne Interface nicht möglich.

  • @MHX11
    @MHX11 ปีที่แล้ว +1

    Super Tutorial. Mir würde es freuen, wenn du ein wenig mehr zoomen könntest, damit es lesbarer wird.

  • @alphacentauri2627
    @alphacentauri2627 7 ปีที่แล้ว +4

    Hey, cooler TH-camr :) Für künftige Videos ist eine vergrößerte Darstellung des Codes hilfreich. Ansonsten sind Deine Videos fast immer TOP. SG

    • @TheMorpheusTutorials
      @TheMorpheusTutorials  7 ปีที่แล้ว +2

      Danke :)

    • @Limeout_aut
      @Limeout_aut 5 ปีที่แล้ว +3

      Ganz klar auch meine einzige kleine Kritik! Ansosten danke für die tolle Hilfe!

  • @mrkokolore6187
    @mrkokolore6187 5 ปีที่แล้ว

    nice und easy erklärt vielen dank

  • @thimostratege8501
    @thimostratege8501 4 ปีที่แล้ว +1

    EIn Interface kann nicht nur eine Sammlung von abstrakten Methoden, sondern auch von abstrakten Eigenschaften sein. In Minute 3:05 sagst du das ein Interface nur abstrakte Methode haben kann und sonst nichts. Bei der Aussage von Feldern hast du Recht, aber bei Eigenschaften nicht.

  • @hhhhhhhhhhhhhhhhh159
    @hhhhhhhhhhhhhhhhh159 2 ปีที่แล้ว

    4:20 erstmal c# mit java verwechseln lets go :D

  • @Kunait.
    @Kunait. 9 ปีที่แล้ว

    Interfaces sind echt nützlich, ich mag abstrakte Klasse aber mehr, da man dort auch Felder hinzufügen kann

    • @TheMorpheusTutorials
      @TheMorpheusTutorials  9 ปีที่แล้ว

      +RocketlauncherLP sie haben beide ihre Berechtigung. Interfaces können halt auch Mehrfachvererbung ;)

    • @Kunait.
      @Kunait. 9 ปีที่แล้ว

      Das stimmt aber auch :)

  • @FrankySudden
    @FrankySudden 7 ปีที่แล้ว +8

    Gutes Video, aber bitte in Zukunft auf Details achten: Ein Interface wird nicht ver/geerbt, sondern implementiert.
    Es stört gewaltig wenn ständig "erbt von" gesagt wird, denn es ist schlichtweg falsch.

    • @TheMorpheusTutorials
      @TheMorpheusTutorials  7 ปีที่แล้ว +6

      Nur ein Quellen (von Universitäten und anderen) die genau dieselbe Terminologie nutzen:
      www.inf.fu-berlin.de/lehre/WS02/ALP3/material/IFundVererbung.pdf
      www.dpunkt.de/java/Die_Sprache_Java/Objektorientierte_Programmierung_mit_Java/57.html
      openbook.rheinwerk-verlag.de/javainsel/javainsel_05_013.html#dodtp1beab676-fa68-4036-9fa0-ac41e5fd5907
      Im Endeffekt kommts aufs selbe raus.

  • @andreoppermann6709
    @andreoppermann6709 2 ปีที่แล้ว

    bitte wechsle zu darkmode. Ich gucke deine Videos typischerweise nicht draußen in der Sonne :)

  • @unrealtinec2398
    @unrealtinec2398 6 ปีที่แล้ว

    Wenn ich " public class hund : ITier
    {
    void laufen()
    {
    Console.WriteLine("lauf");
    }
    }" schreibe muss ich noch " void ITier.laufen()
    {
    throw new NotImplementedException();
    }"
    dazu schreiben damit es funktioniert. Hat sich da was an der sprache geändert?

    • @TheMorpheusTutorials
      @TheMorpheusTutorials  6 ปีที่แล้ว

      Das musst du eigentlich nicht schreiben, das ist aber dazu da, dass falls es diese Methode nicht gibt (weil Interfaces Methoden nicht implementieren), wird ein Fehler geschmissen. Bringt aber eigentlich herzlich wenig. Zwingt der Compiler dich dazu?

    • @0x42NaN
      @0x42NaN 4 ปีที่แล้ว

      du musst auch einen public, private oder protected modifizierer zu deiner laufen() methode hinzufügen

    • @simonzobrist4171
      @simonzobrist4171 4 ปีที่แล้ว

      Dachte protected gibt es in C# nicht, dafür aber Internal. Oder habe ich das in einem der vorherigen Videos falsch verstanden?

    • @0x42NaN
      @0x42NaN 4 ปีที่แล้ว

      @@simonzobrist4171 protected gibt es in c# UND internal auch

    • @simonzobrist4171
      @simonzobrist4171 4 ปีที่แล้ว

      Danke für die Antwort @@0x42NaN
      Dann wurde protected im Video einfach nicht erklärt oder hab ich da nicht aufgepasst? Glaube ich muss mir die verschiedenen Gültigkeitsbereiche dann mal noch genauer ansehen.

  • @Volksdemenz
    @Volksdemenz 4 ปีที่แล้ว

    Attribute und Felder sind nicht dasselbe.

  • @HabNickz
    @HabNickz 6 ปีที่แล้ว

    Vielleicht sieht ja noch jemand diesen Kommentar 2 Jahre später :D
    Ich habe nicht ver standen, wieso man bei der foreach-Schleife ITier t in tiere schreibt. Wieso t drin vorkommt weiß ich. Nur den Rest verstehe ich nicht...

    • @TheMorpheusTutorials
      @TheMorpheusTutorials  6 ปีที่แล้ว +1

      Klar seh ichs ;) Das Tutorial wird ja nicht weniger aktuell :)
      ITier ist der Typ des Arrays. Dadurch kannst du Hunde und Katzen ins Array rein stecken, kannst aber dann natürlich auch nicht sicher sagen, dass ein Element im Array ein Hund oder ne Katze ist, daher musst du den Parent Typ nehmen

    • @arellak
      @arellak 4 ปีที่แล้ว

      @FollowSorrow Willkommen im Club :D

    • @lolaloayo4227
      @lolaloayo4227 4 ปีที่แล้ว

      t ist ein Objekt von ITier
      Aber wahrscheinlich bist du nach 2 Jahren Profi 🙋🏻‍♀️

  • @victoro8295
    @victoro8295 6 ปีที่แล้ว

    Schlechtes Beispiel

    • @TheMorpheusTutorials
      @TheMorpheusTutorials  6 ปีที่แล้ว +8

      ok

    • @qPaul
      @qPaul 6 ปีที่แล้ว +7

      Begründung?? Wenn man versucht, Kritik auszuüben, sollte man darauf achten, dass man diese begründet. Richtige Argumentation ist doch nicht so schwer.