Hauptunterschied: Das Verstecken von Daten, in der Informatik auch als Verstecken von Informationen oder Einkapseln von Daten bekannt, ist eine Softwareentwicklungstechnik, die in der objektorientierten Programmierung (OOP) verwendet wird. Es wird hauptsächlich verwendet, um interne Objektdetails auszublenden, dh die Entwurfsentscheidungen in einem Computerprogramm, die sich am wahrscheinlichsten ändern. Abstraktion ist ein anderer Prozess in der Informatik. Es verbirgt Implementierungsdetails vor Daten und Programmen. Es zeigt nur relevante Details an, wenn dies vom Programm verlangt wird.
Das Verstecken von Daten, in der Informatik auch als Informationsverstecken oder Datenverkapselung bezeichnet, ist eine Softwareentwicklungstechnik, die in der objektorientierten Programmierung (OOP) verwendet wird. Es wird hauptsächlich verwendet, um interne Objektdetails auszublenden, dh die Entwurfsentscheidungen in einem Computerprogramm, die sich am wahrscheinlichsten ändern. Dadurch werden die Daten vor anderen Teileprogrammen verborgen, so dass sich Änderungen an den Daten oder Konstruktionsentscheidungen nicht auf das gesamte Programm auswirken, sondern nur auf die Teile, vor denen die Details nicht verborgen sind. Dies wiederum macht das Gesamtprogramm wesentlich stabiler, da eine einzige Änderung in einem Teil des Programms das Gesamtprogramm wahrscheinlich nicht ändert.
Das Verbergen von Daten kann auch verhindern, dass bestimmte Aspekte einer Klasse oder Softwarekomponente für ihre Kunden zugänglich sind. Dies wird erreicht, indem entweder Programmiersprachenfeatures wie private Variablen oder eine explizite Exportrichtlinie verwendet werden. Durch das Ausblenden von Daten wird auch die Systemkomplexität reduziert, um die Robustheit zu erhöhen, indem die Abhängigkeiten zwischen Softwarekomponenten begrenzt werden.
Die Datenabstraktion ermöglicht es dem Programmierer, Details zu reduzieren und herauszufiltern, sodass er sich auf wenige Konzepte gleichzeitig konzentrieren kann. Es werden nur die Details angezeigt, die der Benutzer benötigt, während alle anderen Details und Informationen ausgeblendet sind. Dies rationalisiert die verfügbaren Daten, so dass der Benutzer möglicherweise nicht mit Details arbeiten muss, die zu diesem Zeitpunkt nicht erforderlich sind.
Ein System kann mehrere Abstraktionsschichten haben. Jede Ebene hätte unterschiedliche Bedeutungen und verdeckte unterschiedliche Details. Wikipedia listet dieses Beispiel auf: Low-Level-Abstraktionsschichten legen Details der Computerhardware offen, auf der das Programm ausgeführt wird, während High-Level-Ebenen sich mit der Geschäftslogik des Programms befassen.
Der Hauptunterschied zwischen dem Verbergen von Daten und der Datenabstraktion besteht darin, dass das Verbergen von Daten einige Daten vor den anderen Programmteilen verbirgt. Diese Daten stehen niemals für die Teile des Programms zur Verfügung, vor denen sie verborgen sind, bis der Programmierer den Code erneut schreibt, um die Daten einzublenden. Bei der Datenabstraktion werden die Daten jedoch nicht vollständig verborgen. Es wird einfach nicht angezeigt, da es derzeit nicht relevant ist. Wenn die Daten relevant werden, werden sie angezeigt.