Différence de se cacher de l'Information et de l'abstraction de données?
Est là toute la différence dans l'Abstraction de Données et se cacher de l'Information? Après être passé par toutes les réponses dans ce lien je suis plus confus.
Abstraction VS se Cacher de l'Information VS Encapsulation
Ne pouvais pas trouver toute la différence. Est-il juste que l'on peut appeler un (info cacher) comme objectif & l'autre (l'abstraction) comme un processus? Mais ce n'est pas satisfaisante différence pour moi. De plus, j'ai obtenu que l'encapsulation est la technique pour mettre en œuvre le processus de l'abstraction Suis-je ici? Veuillez expliquer la différence exacte.
OriginalL'auteur Ankita_K | 2011-08-29
Vous devez vous connecter pour publier un commentaire.
Se cacher de l'Information le concepteur décide expressément de limiter l'accès aux détails de mise en œuvre. C'est un principe qui est plus vieux que la conception orientée objet, mais est souvent utilisé.
Un exemple simple est de définir des constantes en C, par exemple,
#define NAME_SIZE 15
Le code (clients) de la constante n'avez pas besoin de connaître sa valeur, et ne pas être troublé si le concepteur vous décidez de changer sa valeur plus tard. Ils ne devraient pas faire des hypothèses sur le fait que c'est vraiment 15, parce que vous pouvez décider de le changer.Abstraction, c'est quand vous avez affaire à un agrégat, par exemple, une Voiture est une abstraction des détails tels qu'un Châssis, Moteur, Roues, etc. Les Abstractions de nous permettre de penser à des choses complexes d'une manière simple.
Encapsulation est de savoir comment nous décider du niveau de détail des éléments qui le composent nos abstractions. Bonne encapsulation s'applique se cacher de l'information, afin de respecter les limites de détails. Par exemple, ma Voiture est composé en réalité de chacune de ses parties, mais il ne fournit à moi (le pilote) une interface qui convient à mes besoins, et pas plus. Je peux contrôler les portes, serrures, fenêtres, phares, klaxon, toit ouvrant, direction de la circulation, d'accélérer, de ralentir, etc. Même si j'ai peut-être curieux de manipuler les détails du "comment" de toutes ces choses, l'encapsulation m'empêche de voir plus.
Si ma voiture est mise en œuvre des changements (j'ai changer d'un moteur thermique à un moteur électrique ou hybride), parce que je le conducteur ne connaissent que l'interface limitée, je n'ai pas besoin de changer la façon dont je conduis la voiture. L'Abstraction permet moi de savoir que je suis au volant d'une voiture, au lieu de centaines de morceaux de métal, de caoutchouc, etc.
Un exemple d'endroit où se cacher de l'information a été pas partie d'une voiture peut être un valve d'étranglement. Mes parents m'ont dit que ceux utilisés pour travailler dans les voitures qu'ils conduisent... c'était un de combustion de moteur de détail, ce qui ne serait pas utile dans une voiture électrique.
OriginalL'auteur Fuhrmanator
Données de masquage est le processus par lequel les modificateurs d'accès sont utilisés pour masquer la visibilité de java, les méthodes et les variables. Ils modificateurs d'accès sont les suivants: public, privé et protégé.
L'Abstraction est le processus par lequel nous définissons un comportement spécifique par les haricots de des classes et méthodes abstraites qui forment le squelette pour toute la classe qui serait l'extension de cette classe.
OriginalL'auteur PseudoCoder
Une classe normalement cache ses détails de mise en œuvre de ses clients. Cela s'appelle se cacher de l'information. par la création d'interfaces de nous convoquer se cacher de l'information le concept...
exemple de se cacher de l'information est ci-dessous...
nous avons une interface dans notre fichier d'en-tête...
et la mise en œuvre de fonctions dans un autre fichier "Coder.cpp" c'est...
plutôt tahn faire ci-dessus dans deux fichiers (un en-tête+un fichier cpp), nous l'aurions fait à un seul endroit. nous pourrions avoir donné defination de constructeur et de la fonction d'impression dans le fichier d'en-tête lui-même...
si nous avons fait ce que nous n'avons pas été en mesure de mettre en œuvre se cacher de l'information... et de nos client de savoir comment nous avons mis en œuvre nos fonctions!
pour les données absraction vous pouvez envisager de... exemple de piles...
Un client d'une classe de pile n'a pas besoin d'être concernés par la pile est mise en œuvre. Le client sait seulement que, lorsque les éléments de données sont placées dans la pile, ils seront rappelés en last-in, first-out de l'ordre. Le client se soucie de ce que la fonctionnalité d'une pile, l'offre, pas à la façon dont cette fonctionnalité est mise en œuvre. Ce concept est appelé l'abstraction de données.
OriginalL'auteur PowerUser
"Se cacher de l'Information" est une PARTIE importante de "l'abstraction de Données", mais pas l'ensemble du concept.
Et n'oubliez pas: vous pouvez (et devriez) ont "se cacher de l'information" dans le code de procédure (comme "ne pas utiliser de valeurs globales", etc en FORTRAN ou de BASE) - mais vous n'est pas nécessaire de disposer d'un "type abstrait de données".
Se cacher de l'Information et Les Types De Données Abstraites sont étroitement liés, mais ils sont deux concepts différents.
OriginalL'auteur paulsm4
L'Abstraction est la représentation de quelque chose avec moins de détails (comme dans une peinture abstraite). Dans OO, un type abstrait peut être manipulé sans engager sa représentation interne. Par exemple, le Numéro de Téléphone comme une abstraction d'un numéro de téléphone peut être utilisé sans que le client en sachant qu'il est composé de l'indicatif du pays, indicatif régional et le nombre réel. L'Abstraction est le plus utile dans l'analyse et la phase de conception, car il vous permet de parler en termes de type abstrait de données (par exemple. Numéro de téléphone) sans avoir à s'inquiéter de la façon dont il sera mis en œuvre.
Plus de type courant,
string
est une abstraction de texte: vous manipulerstring
sans savoir comment il est mis en œuvre. La chaîne de l'abstraction permet à ses internes pour être modifié sans affecter son utilisation dans une application de conception.Se cacher de l'Information et de l'encapsulation de deux façons dans lesquelles un type abstrait de données peut être mis en œuvre. Un type abstrait de données pourrait même ne pas avoir à cacher son état interne ou de ses encapsulation; par exemple, le Nombre comme une abstraction peut être mis en œuvre comme un
int
.OriginalL'auteur