rasenganIT Geschrieben 22. November 2023 Teilen Geschrieben 22. November 2023 Hallo, in den Lösungen sind die Attribute Länge,Breite und Preis als protected gelistet. Wie genau kommt aus der Aufgabenstellung darauf dass die Attribute protected sein müssen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Brapchu Geschrieben 22. November 2023 Teilen Geschrieben 22. November 2023 Da die Lösungshilfe (KEINE MUSTERLÖSUNG) denke ich in Java geschrieben ist.. 1min googleFu zu Java & Private vs Protected: Zitat private-Elemente sollten immer dann verwendet werden, wenn implementierungsabhängige Details zu verstecken sind, die auch in abgeleiteten Klassen nicht sichtbar sein sollen. protected-Elemente sind vor Zugriffen von außen geschützt, können aber von abgeleiteten Klassen verwendet werden. Und damit dürfte nach der Aufgabenstellung, zumindest in Java, protected die richtige Wahl sein. rasenganIT reagierte darauf 1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
be98 Geschrieben 22. November 2023 Teilen Geschrieben 22. November 2023 In toString sollen alle KlassenAttribute ausgegeben werden. Das funktioniert aber nur wenn du diese protected machst, sonst bräuchtest du getter für jedes Attribut. Haste aber nicht rasenganIT reagierte darauf 1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
be98 Geschrieben 22. November 2023 Teilen Geschrieben 22. November 2023 Oder public, was auch nicht falsch wäre Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Yaksou Geschrieben 22. November 2023 Teilen Geschrieben 22. November 2023 (bearbeitet) IHK ist grundsätzlich fast immer private attribute und public Methoden. Hab ab und zu mal protected gesehen, aber das war dann explizit so vorgegeben. So hab ich das auch noch nicht gesehen. Huh Bearbeitet 22. November 2023 von Yaksou Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ZwennL Geschrieben 22. November 2023 Teilen Geschrieben 22. November 2023 Die Aufgabenstellung gibt protected nicht vor. Sie kann aber mit protected für die Attribute gelöst werden. Wie oben schon geschrieben wurde, werden private deklarierte Attribute nicht mit vererbt. Kommt also Vererbung ins Spiel, ist protected die richtige Wahl, wenn Attribute in weiteren Vererbungsebenen benötigt werden. So ist es in Java. Den Modifikator protected gibt es aber auch in C# und C++. Ich weiß nicht genau, wie er dort wirkt, aber wohl in die gleiche Richtung. Das der Lösungsvorschlag protected verwendet wird wundert mich allerdings, da die IHK Fragen sich in der Regel nicht auf spezifische Programmiersprachen beziehen, sondern auf Pseudocode. Da wäre ich also eher bei private, um im Allgemeinen zu bleiben. Gefordert ist so ein Modifikator meiner Ansicht nach aber auf jeden Fall, denn es wird ja mit "preisänderung" ein Setter (mit eher zweifelhaftem Bezeichner) und mit "getPreis" ein Getter gefordert. Die machen beide nur Sinn, wenn die Attrbute für den Zugriff von außen gesperrt sind. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Whiz-zarD Geschrieben 23. November 2023 Teilen Geschrieben 23. November 2023 vor 6 Stunden schrieb ZwennL: Gefordert ist so ein Modifikator meiner Ansicht nach aber auf jeden Fall, denn es wird ja mit "preisänderung" ein Setter (mit eher zweifelhaftem Bezeichner) und mit "getPreis" ein Getter gefordert. Die machen beide nur Sinn, wenn die Attrbute für den Zugriff von außen gesperrt sind. Das ist aber auch von der Sprache abhängig. z.B. in Python gibt es solche Konzepte, wie private oder protected gar nicht. Da ist alles public. Es gibt nur die naming convention, dass private Variablen mit einem unterstrich anfangen sollten. Das ist aber auch nur ein "Bitte ändere diesen Wert nicht!". Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ZwennL Geschrieben 23. November 2023 Teilen Geschrieben 23. November 2023 vor einer Stunde schrieb Whiz-zarD: Das ist aber auch von der Sprache abhängig. z.B. in Python gibt es solche Konzepte, wie private oder protected gar nicht. Da ist alles public. Es gibt nur die naming convention, dass private Variablen mit einem unterstrich anfangen sollten. Das ist aber auch nur ein "Bitte ändere diesen Wert nicht!". Nach der reinen Lehre (wie man so sagt) ist Encapsulation (Datenkapselung) aber ein Konzept der OOP. Mag sein, dass Python das nicht implementiert hat. Da kenne ich bisher nur die Grundlagen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hellerKopf Geschrieben 23. November 2023 Teilen Geschrieben 23. November 2023 Es geht bei so einer Aufgabe sicher nicht um eine spezifische Sprache. Allgemein in OOP ist alles so weit zu schützen, wie es geht. Wenn python da alles ungeschützt lässt, ist eine weiterer Schwachpunkt der Sprache Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.