Als «encapsulation» getaggte Fragen

In OOP ein Mechanismus zum Einschränken des Zugriffs auf einige der Objektkomponenten oder ein Entwurfsprinzip, das die Entkopplung von Implementierungsdetails fördert.


12
Warum sind Pythons "private" Methoden nicht wirklich privat?
Python gibt uns die Möglichkeit, 'private' Methoden und Variablen innerhalb einer Klasse zu erstellen, indem dem Namen doppelte Unterstriche vorangestellt werden : __myPrivateMethod(). Wie kann man das dann erklären? >>> class MyClass: ... def myPublicMethod(self): ... print 'public method' ... def __myPrivateMethod(self): ... print 'this is private!!' ... >>> obj …

30
Wann sollten Sie 'friend' in C ++ verwenden?
Ich habe die C ++ - FAQ gelesen und war neugierig auf die friendErklärung. Ich persönlich habe es nie benutzt, aber ich bin daran interessiert, die Sprache zu erkunden. Was ist ein gutes Beispiel für die Verwendung friend? Wenn ich die FAQ etwas länger lese, mag ich die Idee, dass …
354 c++  oop  encapsulation  friend 


4
Den Unterschied zwischen __getattr__ und __getattribute__ verstehen
Ich versuche den Unterschied zu verstehen __getattr__und __getattribute__versage es jedoch. Die Antwort auf die Frage zum Stapelüberlauf Der Unterschied zwischen __getattr__vs__getattribute__ lautet: __getattribute__wird aufgerufen, bevor die tatsächlichen Attribute des Objekts angezeigt werden, und kann daher schwierig zu implementieren sein. Sie können sehr leicht in unendliche Rekursionen geraten. Ich habe absolut …



9
Java: Sichtbarkeit von Unterpaketen?
Ich habe zwei Pakete in meinem Projekt: odp.projund odp.proj.test. Es gibt bestimmte Methoden, die nur für die Klassen in diesen beiden Paketen sichtbar sein sollen. Wie kann ich das machen? EDIT: Wenn es in Java kein Konzept für ein Unterpaket gibt, gibt es einen Weg, dies zu umgehen? Ich habe …

21
Muss die Abhängigkeitsinjektion auf Kosten der Kapselung gehen?
Wenn ich das richtig verstehe, besteht der typische Mechanismus für die Abhängigkeitsinjektion darin, entweder über einen Klassenkonstruktor oder über eine öffentliche Eigenschaft (Mitglied) der Klasse zu injizieren. Dies legt die injizierte Abhängigkeit offen und verstößt gegen das OOP-Prinzip der Kapselung. Bin ich richtig darin, diesen Kompromiss zu identifizieren? Wie gehen …

7
Verwenden eines Strategiemusters und eines Befehlsmusters
Beide Entwurfsmuster kapseln einen Algorithmus und entkoppeln Implementierungsdetails von ihren aufrufenden Klassen. Der einzige Unterschied, den ich erkennen kann, besteht darin, dass das Strategiemuster Parameter für die Ausführung berücksichtigt, während das Befehlsmuster dies nicht tut. Es scheint mir, dass das Befehlsmuster erfordert, dass alle Informationen für die Ausführung verfügbar sind, …

24
Gute Möglichkeit, Integer.parseInt () zu kapseln
Ich habe ein Projekt, in dem wir oft Integer.parseInt()einen String in einen Int konvertieren. Wenn etwas schief geht (zum Beispiel ist das Stringkeine Zahl, sondern der Buchstabe aoder was auch immer), löst diese Methode eine Ausnahme aus. Wenn ich jedoch überall Ausnahmen in meinem Code behandeln muss, sieht dies sehr …

15
Unterschied zwischen Verkapselung und Abstraktion
Ich hatte heute ein Interview. Ich hatte eine Frage von OOP zum Unterschied zwischen Verkapselung und Abstraktion . Ich antwortete ihr zu meinem Wissen, dass Encapsulation im Wesentlichen darin besteht, Datenelemente und Elementfunktionen in einer einzigen Einheit namens Klasse zu binden . Während Abstraction im Wesentlichen dazu dient, die Komplexität …

13
Wie unterscheiden sich Abstraktion und Kapselung?
Ich bereite mich auf ein Interview vor und habe beschlossen, meine OOP-Konzepte aufzufrischen. Es gibt Hunderte von Artikeln, aber es scheint, dass jeder sie anders beschreibt. Einige sagen Abstraktion ist "der Prozess der Identifizierung gemeinsamer Muster mit systematischen Variationen; eine Abstraktion stellt das gemeinsame Muster dar und bietet ein Mittel …


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.