Sichtbarkeit protected (Teil 7) - Objektorientierung: Kapselung/Vererbung/Polymorphie

Поделиться
HTML-код
  • Опубликовано: 17 окт 2024

Комментарии • 4

  • @thacreepwalk
    @thacreepwalk 5 месяцев назад

    Aber wenn man die Sub-Klassen auch im selben Package hat, wozu hat man denn überhaupt die Unterscheidung zw private-package und protected. Weil wir haben in unserem fall sogar extra die Klasse Autohaus in eine andere package verschieben müssen, um sie auszuschließen. Was für einen Mehrwert bringt dann die Wahl des protected gegenüber dem private-package?

    • @StefanMacke
      @StefanMacke  5 месяцев назад +1

      Wenn andere Programme unsere Klassen erweitern wollen, werden sie vermulich nicht im gleichen Package liegen (können). Daher protected, damit alle Subklassen, egal in welchem Package sie liegen, auf die Member zugreifen können.

    • @thacreepwalk
      @thacreepwalk 5 месяцев назад

      @@StefanMackeJa ok, das macht Sinn. Vorausgesetzt man möchte, dass jemand die Klasse erweitert. Da ich eine Umschulung zum FIAE mache, habe ich leider sehr wenig praktische Erfahrung. Wir lernen hauptsächlich nur die Konzepte des Programmierens vorerst.
      Dann kommt es wohl doch öfters vor, dass Dritte eine Klasse von einem erweitertern?!? Weil, wenn man nach dem Prinzip geht, dass man möglichst wenig Sichtbarkeit zulässt, wäre demnach Private-Package bei eigenen Implementierungen besser. Oder vererbt man in eigene Sub-Klassen in dem man sie üblicherweise in andere Packages packt? 🤔

    • @StefanMacke
      @StefanMacke  5 месяцев назад +1

      @@thacreepwalk Naja, man selbst erweitert vermutlich eher die eigenen Klassen ala jemand anderes. Aber dabei nutzt man normalerweise auch Packages zur Strukturierung.