Was ist der genaue Unterschied zwischen Kapselung und Abstraktion?
Antworten
Zu viele Anzeigen?Abstraktion und Kapselung sind beide für das Verbergen von Daten bekannt. Aber es gibt einen großen Unterschied.
Verkapselung
Die Kapselung ist ein Prozess der Bindung oder Umhüllung der Daten und der Codes, die mit den Daten arbeiten, in einer einzigen Einheit namens Klasse.
Durch die Kapselung wird das Problem auf der Implementierungsebene gelöst.
In der Klasse können Sie Daten verbergen, indem Sie private oder geschützte Zugriffsmodifikatoren verwenden.
Abstraktion
Abstraktion ist das Konzept des Ausblendens irrelevanter Details. Mit anderen Worten: Man macht ein komplexes System einfach, indem man die unnötigen Details vor dem Benutzer verbirgt.
Durch Abstraktion wird das Problem auf der Entwurfsebene gelöst.
Sie können Abstraktion erreichen, indem Sie eine Schnittstelle und eine abstrakte Klasse in Java erstellen.
In Ruby können Sie Abstraktion durch die Erstellung von Modulen erreichen.
Beispiel: Wir verwenden (collect, map, reduce, sort...) Methoden des Enumerable-Moduls mit Array und Hash in Ruby.
Eine Sache, vielleicht eine grundlegende Sache, die in anderen Antworten nicht erwähnt wird, ist die, Verkapselung IST Abstraktion . Daher ist es nicht richtig, die beiden gegenüberzustellen und nach Unterschieden zu suchen, sondern vielmehr zu betrachten Verkapselung als eine Form der Abstraktion .
Die Kapselung ist ein Beispiel für Abstraktion. Der Sinn der Kapselung besteht darin, die Vorgänge innerhalb der Funktion zu abstrahieren, die gesamte Komplexität auf ein Symbol (die Referenz oder den Namen der Funktion) zu reduzieren und die Funktion in eine Blackbox zu verwandeln.
In der Programmierung ist das Wort "abstrakt" ein Befehl. Wenn eine Klasse eine abstrakte Klasse (oder eine Schnittstelle) erbt, wird Ihnen befohlen, eine Abstraktion zu schaffen.
Es gibt Unterschiede zwischen
ABSTRAKTIONEN
y
ENCAPSULATION
1. First difference between Abstraction and Encapsulation is that, Abstraction is implemented in Java using interface and abstract class while Encapsulation is implemented using private, package-private and protected access modifier.
2. Data abstraction simply means generalizing something to hide the complex logic that goes underneath where Encapsulation is DATA HIDING.
3. Encapsulation is combining related logic data (variables and methods) where as Abstraction is hiding internal implementation details and expose only relevant details to the user. In a way you can Abstraction is achieved by Encapsulation.
- See previous answers
- Weitere Antworten anzeigen