451 Stimmen

Unterschied zwischen Abstraktion und Verkapselung?

Was ist der genaue Unterschied zwischen Kapselung und Abstraktion?

0voto

Vaibhav Punkte 718

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.

-1voto

coder Punkte 2169

Verkapselung erfordert Modularität. Sie erfordert, dass Sie Objekte erstellen, die die Daten und die Methoden zur Verarbeitung der Daten enthalten. In diesem Fall können Sie es als ein Modul betrachten.

Die Abstraktion bietet Ihnen eine verallgemeinerte Sicht auf Ihre Klassen.

-1voto

Nazar Merza Punkte 3145

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 .

-1voto

user413 Punkte 24

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.

-1voto

hitesh141 Punkte 935

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.

enter image description here

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X