Hier sind die kurzen Definitionen von Kapselung und Abstraktion.
Abstraktion:
Der Abstraktionsprozess in Java wird verwendet, um bestimmte Details auszublenden und nur die wesentlichen Merkmale des Objekts anzuzeigen. Mit anderen Worten, es handelt sich um die Außenansicht eines Objekts (Schnittstelle). Das einzige gute Beispiel, das ich dafür auf verschiedenen Websites sehe, ist die Schnittstelle.
Verkapselung:
Es geht im Grunde darum, den Zustand des Objekts mit Hilfe von Modifikatoren wie privat, öffentlich, geschützt usw. zu verbergen. Wir legen den Zustand nur bei Bedarf durch öffentliche Methoden offen.
Was wir mit Modifikatoren wie erreichen private
, public
verbirgt auch unnötige Details vor der Außenwelt, die nichts anderes als ein Abstraktionskonzept ist
Aus der obigen Erklärung geht hervor, dass die Kapselung ein Teil der Abstraktion ist, oder wir können sagen, dass es sich um eine Teilmenge der Abstraktion handelt. Aber warum wird dann der Kapselungsbegriff erfunden, wenn wir uns nur mit Abstraktion befassen können? Ich bin mir sicher, dass es einen großen Unterschied geben sollte, der sie auszeichnet, aber das meiste Material im Netz sagt für beide fast dasselbe aus.
Obwohl diese Frage auch schon früher in diesem Forum aufgeworfen wurde, poste ich sie mit besonderen Zweifeln erneut. Einige Antworten sagen auch, dass Abstraktion ein Konzept ist und Kapselung Implementierung ist. Aber ich kaufe das nicht - Wenn es wahr ist, dann kann ich mir vorstellen, dass diese beiden unterschiedlichen Konzepte uns verwirren.
Update: - Nach 5 Jahren habe ich meine eigene Antwort gefunden, die auf den Antworten in diesem und den folgenden Beiträgen basiert
private
public
, da diese nur Informationen / Daten verbergen, die wir tun, da dies eine gute Vorgehensweise zum Schutz der Daten der Instanz ist.
An 'abstraction' (noun) is a concept that acts as a super-categorical noun for all subordinate concepts, and connects any related concepts as a group, field, or category.