Objekt Orientierte Programmierung mit PHP 8, Vererbung, Final und Abstract

Поділитися
Вставка
  • Опубліковано 18 вер 2024
  • In diesem Video erkläre ich dir weitere Möglichkeiten um mit einer PHP Klasse zu arbeiten. Ich erkläre was eine Vererbung ist, was der Begriff Final ist und was eine Abstrakte Klasse ist. Außerdem erkläre ich dir Composition over Inheritance Prinzip
    🔗 Links
    ***************************
    Kreis-Ellipse-Problem: de.wikipedia.o...
    Komposition anstelle von Vererbung: de.wikipedia.o...
    Vererbung: www.php.net/ma...
    Abstrakte Klassen: www.php.net/ma...
    Finale Klassen: www.php.net/ma...
    🌐 Sonstiges
    ***************************
    Weitere Themenvorschläge und/oder Kooperationen in die Kommentare.
    #php8 #oop #vererbung
    🤑 Affiliate
    ***************************
    Meine Kamera: amzn.to/34Ibph9 *
    Meine Tastatur: amzn.to/3j9UkjY *
    Günstiger Hoster Mentox: bit.ly/mentox-...
    Lade mich auf ein Kaffee ein: www.paypal.me/...
    * Hierbei handelt es sich um ein Affiliate-Link, es entstehen keine weiteren Kosten beim Einkauf eines Produkts über diesen Link, du unterstützt aber meinen Kanal direkt.
    🕛 Zeitstempel
    ***************************

КОМЕНТАРІ • 46

  • @VitalijMik
    @VitalijMik  3 роки тому +4

    Wie du jetzt hoffentlich sehen kannst, sind Klassen NUR ein Teil von OOP ;) Da gibt es noch vieel mehr

  • @ewap-by-daniel
    @ewap-by-daniel 3 роки тому +4

    Wieder einmal viel gelernt. Wie auch schon das letzte Video, ist auch dieses sehr gut verständlich und lehrreich. Sehr schätze ich wie du erklärst, wieso was sinnvoll ist. So ergeben sich mir auch Gründe auf die Details zu achten.

    • @VitalijMik
      @VitalijMik  3 роки тому

      Vielen dank :D das hört man gerne

  • @wickedsmith5997
    @wickedsmith5997 2 роки тому +1

    Sehr schönes Tutorial. Und mal einer der sagt, dass man Vererbung "am besten" vermeiden sollte und besser mit Dependency Injection arbeiten sollte. Sehr gut !

    • @VitalijMik
      @VitalijMik  2 роки тому

      Dankeschön. Habe viel Kritik für diese Aussage kassiert

  • @nowtronix8996
    @nowtronix8996 3 роки тому +3

    Das war wirklich eine tolle Erklärung zum Thema OOP. Mir sind eine ganze Reihe der Prinzipien erst jetzt wirklich klar geworden, die ich nie so ganz im Studium verstanden habe.
    Dafür ein großes Lob und vielen Dank dafür.

    • @VitalijMik
      @VitalijMik  3 роки тому +1

      Hey vielen dank, wobei ich mir eigentlich denke dass das normal ist, Im Studium und Ausbildung werden einem nur die Regeln und Grundlagen vermitteln, so richtig lernen tut man das sowieso erst in der Praxis

  • @MeinDeutschkurs
    @MeinDeutschkurs 2 роки тому +1

    Alles klar. Happy Weekend! 🙌

  • @karlkoslowski5439
    @karlkoslowski5439 3 роки тому +3

    Super Video! Speziell Composition over Inheritence. Ich hoffe, viele Einsteiger schauen sich das an und übernehmen es :-) Ich weiß gar nicht, wie oft ich schon Kreis-Ellipse-Fälle hatte, wo dann teils auch einfach irgendwas reingebaut wurde, damit es doch irgendwie passt...

    • @VitalijMik
      @VitalijMik  3 роки тому

      Nicht nur Anfängern passiert das. In der früheren Version von der PayPal SDK gibt es diese Klasse github.com/paypal/PayPal-PHP-SDK/blob/master/lib/PayPal/Common/PayPalModel.php es gibt eine große Anzahl an Klassen die davon erben, auch wenn es keine Model Klassen sind, einfach nur wegen den Methoden fromArray bzw fromJson. Ich glaube wenn ich für Paypal arbeite dann bin ich kein Anfänger :D

    • @VitalijMik
      @VitalijMik  3 роки тому

      Das Ganze wird dann hier Offensichtlich github.com/paypal/PayPal-PHP-SDK/search?q=PayPalModel
      Zb "class VerifyWebhookSignatureResponse extends PayPalModel" und da gibt es noch mehr Beispiele :D

  • @iinko
    @iinko 2 роки тому +1

    Wirklich top erklärt! Danke

    • @VitalijMik
      @VitalijMik  2 роки тому

      Dankeschön und danke fürs zuschauen

  • @xXxLYnXxXx
    @xXxLYnXxXx 2 роки тому +1

    Sehr gut erklärt! Dankeschön :)

    • @VitalijMik
      @VitalijMik  2 роки тому

      Freut mich dass es dir gefallen hat, danke!

  • @ITSplit
    @ITSplit 3 роки тому +1

    Mal abgesehen von den Sachen die ich schon kann... wenn Du wüsstest wie lange ich auf solche Erklärungen warte, würdest du nur mit dem Kopf schütteln.
    So viele Lesezeichen in meinem Browser über die Jahre, so viele UA-cam Videos, bezahlte Kurse bei Udemy, so oft bei Google nach Erklärungen gesucht...
    Die ganzen Tutorials die ich mir angeschaut habe von anderen youtubern sind zwar sehr gut und erklären die Syntax, aber nicht den Zweck dahinter.
    Und dann schlägt mir UA-cam neulich ein Video von dir vor. Seitdem bin ich Abonnent und schaue mir gerade alle OOP Videos an. Genau danach suche ich schon seit Ewigkeiten!
    Vielen Dank!

    • @VitalijMik
      @VitalijMik  3 роки тому +1

      Vererbung und OOP ist gerade erst der Anfang ;) ich habe ein Video wie man zum Senior PHP Developer wird, dann wirst du wissen was du als nächstes dir anschauen solltest, Tests und Architekturen usw ;)

    • @ITSplit
      @ITSplit 3 роки тому

      @@VitalijMik ja, genau. Tests zB. ein ganz großes Thema.

    • @VitalijMik
      @VitalijMik  3 роки тому

      @@ITSplit habe dazu auch ein paar Videos ;) Playlist Clean Architecture zb

  • @alivesurvive471
    @alivesurvive471 3 роки тому +2

    Sehr hilfreiches Video. :)
    Theoretisch verstehe ich das schon und kann das auch erklären, aber in der Praxis fällt es mir noch sehr schwer, z.B Vererbungen sinnvoll einzusetzen.

    • @VitalijMik
      @VitalijMik  3 роки тому +2

      Deshalb sage ich, einfach nicht vererben ;) alle Klassen als Final definieren und gut ist

    • @alivesurvive471
      @alivesurvive471 3 роки тому +1

      @@VitalijMik Oki doki! Freue mich schon auf die nächsten Folgen. :)

    • @karlkoslowski5439
      @karlkoslowski5439 3 роки тому +1

      @@VitalijMik Wobei ich finde, dass final auch keine gute Idee ist. Wenn irgendwer meint, von der Klasse erben zu müssen, warum sollte man ihm das verbieten? Man sieht das ja nur aus der eigenen Perspektive. Ein anderer hat vielleicht eine andere.
      Ich hatte mal eine Library, in der die Entwickler sämtliche Properties private gemacht haben. Dadurch konnte ich in meiner abgeleiteten Klasse nicht darauf zugreifen, obwohl die Vererbung an dieser Stelle Sinn gemacht hat.

    • @VitalijMik
      @VitalijMik  3 роки тому

      @@karlkoslowski5439 die Hintergrund ist folgender, wenn jemand von meiner Klasse ableiten will, dann kann er ja zu mir kommen und es mir sagen, dann habe ich wenigstens mit ihm gesprochen und wenn ich mal was an den public methoden verändere weiß ich dass jemand mit mir gesprochen und ich da aufpassen muss.
      Es würde halt spätestens wenn man Glück beim Automatisierten Testen auffallen, wenn man aber alles gut testet für den ist das natürlich nicht relevant;)

    • @karlkoslowski5439
      @karlkoslowski5439 3 роки тому +1

      @@VitalijMik > und wenn ich mal was an den public methoden verändere weiß ich dass jemand mit mir gesprochen und ich da aufpassen muss.
      Da erinnert man sich doch eh nicht dran :-) Ich sehe die Sache eher umgekehrt. Wenn er Deine Klasse ableiten will, dann trägt er natürlich auch die Verantwortung dafür. Es ist ja auch nicht so, dass Du der einzige bist , der jemals an Deiner Klasse arbeitet.
      Letzten Endes kann man das natürlich sehen, wie man möchte - Aus meiner Erfahrung sorgen künstliche Einschränkungen im besten Fall dafür, die sie nicht überschritten werden müssen, ansonsten aber irgendwann entfernt oder - im schlimmsten Fall - mir irgendwelchen Workarounds umgangen werden.

  • @infosandfacts7536
    @infosandfacts7536 3 роки тому +1

    Kleiner Tip: Benenne Serien immer möglichst gleich. Wenn Dein Teil 1 "Einführung in die Objekt Orientierte Programmierung mit PHP 8 - Part1 | PHP Tutorial 2021 Deutsch" heisst, sollte Teil 2 mindestens "Einführung in die Objekt Orientierte Programmierung mit PHP 8 - Part2 | PHP Tutorial 2021 Deutsch" heißen. Man kann es so viel leichter verolgen und finden und denkt nicht: hä wo ist jetzt der nächste Teil.

    • @VitalijMik
      @VitalijMik  3 роки тому +2

      Danke aber ich muss einen anderen Titel benutzen wegen Auffindbarkeit. Niemand wird nach Part 2 suchen. Aber nach Abstract. Final und Vererbung. Die Videos sind untereinander verlinkt.

  • @Bibaltik
    @Bibaltik 3 роки тому +1

    Gut gemacht und schön erklärt :)

    • @VitalijMik
      @VitalijMik  3 роки тому +1

      Dankeschön, und danke fürs Kommentar :D

  • @sys_reset
    @sys_reset 3 роки тому +1

    Freu mich schon auf Design- Patterns...

    • @VitalijMik
      @VitalijMik  3 роки тому +1

      Habe schon ein paar gemacht;)

  • @patrikknoerr9777
    @patrikknoerr9777 3 роки тому

    Fantastisch. Da war ich mit Java schon vor 10 Jahren, ist das heute in PHP drin? Toll!

    • @VitalijMik
      @VitalijMik  3 роки тому

      Natürlich, alle PHP Entwickler nutzen Objekt Orientierte Programmierung, seit mehreren Jahren

    • @Bibaltik
      @Bibaltik 3 роки тому +1

      Die einfache Objektorientierung wurde mit PHP4 im Jahr 2000 implementiert. Wenn ich mich recht Erinnere kam das mit PHP5 halbwegs vernünftig. Und das war 2004. Also verstehe ich dieses "heute" nicht so.

    • @heinrichschiller4673
      @heinrichschiller4673 3 роки тому +1

      Java ist auch eine andere Programmiersprache und wurde von Anfang an OOP entworfen. PHP nicht. Es gibt auch Sprachen die wesentlich älter sind als Java und konnten alles, bis auf JVM, was Java heute kann. Toll! ;)

    • @karlkoslowski5439
      @karlkoslowski5439 3 роки тому +1

      > Fantastisch. Da war ich mit Java schon vor 10 Jahren, ist das heute in PHP drin?
      Das gibt es schon seit 15 Jahren in PHP.

    • @heinrichschiller4673
      @heinrichschiller4673 3 роки тому

      @@VitalijMik Nein nicht alle! Es gibt Entwickler/Firmen die setzen sich gegen OOP ganz tapfer zu wehr!

  • @o.y.2257
    @o.y.2257 2 роки тому +1

    Sehr gut erklärt vielen dank!!
    Ich habe eine Frage kann ich beispielsweise eine Klasse z.B.: Product splitten dann eine neue Klasse Image, Url, Description erstellen und am ende die Klasse Product so aufrufen : Product extends Image, Url, Description oder wäre das falsch ?
    Hast die Frage am Ende des Videos beantwortet lass aber den Kommentar dennoch hier stehen für den Alghorithmus :)

    • @VitalijMik
      @VitalijMik  2 роки тому +1

      Dankeschön, nein extends sollte man vermeiden. ein Extends ist ja eine "ist eine" beziehung und Product extends Image würde nur dann Sinn machen, wenn du Bilder verkaufen würdest ;) Weil dann ein Bild auch ein Produkt wäre, wobei man dann aber schwer zwischen einem Produkt Bild und dem Bild als Produkt unterscheiden könnte

    • @o.y.2257
      @o.y.2257 2 роки тому

      @@VitalijMik vielen Dank 🙏

  • @hamwardegp
    @hamwardegp 3 роки тому +2

    Erster :-) schönen Sonntag

    • @VitalijMik
      @VitalijMik  3 роки тому +1

      Ja heute war es sehr schön, 40 CM Schneefall, mehrere Stunden Schneschippen , Video geschnitten, hochgeladen, aus dem Fenster geschaut, alles wieder zugeschneit.
      Laut Wetterbericht wird es jetzt bei uns auch noch -26 Grad :D kachelmannwetter.com/de/modellkarten/deu-hd/deutschland/min-temperatur-6std/20210210-0600z.html
      Bin ich Froh Homeoffice zu haben

    • @hamwardegp
      @hamwardegp 3 роки тому +1

      Oh man da sind wir ja nochmal davon gekommen. Bei uns, nördlich der Elbe, war es zwar windig, aber mit -5 Grad und ohne Schnee relativ entspannt. Ich drücke die Daumen das ihr gut durch die Kälte kommt :-)

    • @VitalijMik
      @VitalijMik  3 роки тому +1

      Solange man mit dem Auto nirgendwohin muss ist alles eigentlich easy :D Ist auch schön mal Schnee vor der Haustür zu sehen, gab es die letzten 5 Jahre nicht(gefühlt)

  • @friemi00
    @friemi00 Рік тому

    Was redest du immer mit Pailpins oder Tailpins oder was? Man kann dir nichts verstehen! Wenn du etwas lehren willst, sollst du auch das Vokabular erklären....

    • @VitalijMik
      @VitalijMik  Рік тому

      Ich werfe den Ball einfach mal zurück. Wenn man etwas nachfragen will, sollte man auf YT Zitieren können. Ich habe echt keine Ahnung was du meinst, vielleicht sinds versprecher oder so. Das Video ist ja doch schon etwas älter