Zum Inhalt springen

Wie soll man das wissen?


Empfohlene Beiträge

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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!".

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...