2010-10-11 53 views
2

Est-ce que l'encapsulation est l'information se cachant ou il conduit à l'information se cachant? Comme nous disons que l'encapsulation lie les données et les fonctions dans une seule entité, elle nous fournit le contrôle sur le flux de données et nous pouvons accéder aux données d'une entité seulement à travers certaines fonctions bien définies. Donc, quand nous disons que l'encapsulation conduit à l'abstraction ou à la dissimulation d'informations, cela signifie que cela nous donne une idée des données à cacher et des données à montrer aux utilisateurs ... coz les données auxquelles les utilisateurs ne peuvent pas accéder. nous une technique pour savoir quelles sont les données à cacher et ce qui devrait être visible ... Ce concept est-il correct?concept d'OOPs d'encapsulation et d'abstraction

Et quelle est la différence entre le masquage d'informations et l'abstraction?

+0

S'il vous plaît essayer de rechercher l'existence de doute, au moins sur SO. – ivorykoder

+2

duplication possible de [Abstraction VS Information Masquage VS Encapsulation] (http: // stackoverflow.com/questions/24626/abstraction-vs-information-cacher-vs-encapsulation) –

Répondre

3

double possible du this

public class Guest { 
    private String name; 

    public String getName() { 
    return name; 
    } 

    public void setName(String name) { 
    this.name = name; 
    } 
} 

Voir le code ci-dessus, nous avons encapsulé le nom de chaîne, nous offrons l'accès à travers les méthodes publiques.

Supposons que nous ayons créé l'objet guest invité. Alors ce qui suit sera illégal.

System.out.println("Guests name : "guest.name); 

L'accès par des méthodes publiques est ce qui peut seulement être fait.

guest.getName(); 

Avantages de Encapsulation:

  1. Les champs d'une classe peuvent être en lecture seule ou écriture seule.

  2. Une classe peut avoir un contrôle total sur ce qui est stocké dans ses champs.

  3. Les utilisateurs d'une classe ne savent pas comment la classe stocke ses données. Une classe peut modifier le type de données d'un champ, et les utilisateurs de la classe n'ont pas besoin de pour modifier leur code.

+0

L'information n'est pas si claire ... donc je veux juste avoir plus de détails à ce sujet – Mishthi

+0

Pas si clair? dans quel contexte ?? – ivorykoder

+0

Dans le contexte de la dissimulation et de l'abstraction de l'information ... Et aussi si les fils d'encapsulation ou lui-même est le cache de l'information – Mishthi

2

Encapsulation signifie cacher la mise en œuvre

abstraction signifie fournir plan de la mise en œuvre

signifie Hiding des données de contrôle d'accès aux DataMember ou attributs

+0

Pouvez-vous fournir plus d'informations? Essayez de répondre un peu plus largement aux questions –

-1

abstraction signifie la recherche des caractéristiques importantes d'un objet et en ignorant les autres détails. Par exemple, si vous considérez une voiture: Une définition abstraite d'une voiture est un véhicule, avec quatre roues, un volant et un moteur. Les détails du fonctionnement de la direction ou de la marque de voiture sont sans importance pour ce qui fait de l'objet une voiture.

Une explication détaillée est disponible sur abstraction meaning in Object Oriented Programming concepts.

+0

Vous n'avez pas répondu à la partie d'encapsulation de la question. – ragingasiancoder

1

L'information est un terme plus général, par conséquent, je crois, pour dire que l'encapsulation est la dissimulation de l'information, ne sera pas approprié. Je dirais que l'encapsulation est Data Hiding.

Encapsulation signifie ...

  • En combinant un comportement de l'objet d'État & (qui fonctionne sur cet État), en une seule unité. Cela imite de près un objet du monde réel.

  • Hiding & Sécurisation de l'état de l'objet de modifications externes accidentelles en fournissant un accès contrôlé bien défini (par des comportements).

En Java, la définition peut être détaillée comme ...

  • En Java, Classes et énumérations sont des unités individuelles pour la mise en œuvre d'encapsulation. L'état est défini à l'aide de variables (primitives, références à des objets) et de comportements utilisant des méthodes.

  • données Hiding est réalisé à l'aide spécificateur privée d'accès sur les variables (de sorte que personne ne peut y accéder à l'extérieur).

  • L'accès contrôlé est obtenu en fournissant des Getters/Setters et/ou des méthodes de logique métier. Les deux Setters et les autres méthodes affectant l'état doivent avoir des vérifications de condition aux limites pour garder l'état logique.

1

parle Encapsulation sur le masquage des données en quelque chose et lui donner un nom (membres de données privées dans une classe - voiture) méthodes de comportement et la liaison avec elle qui muter ou de fournir l'accès à ces variables de données. L'abstraction fournit une perspective du client en termes abstraits. Comme un concept ou une idée. La voiture est une entité concrète où comme Drivable, Trackable (qui a la position et peut être traqué) peut être abstraction pour Car pour différents clients.

Vous pouvez vérifier une certaine vie réelle examples of Abstraction et Encapsulation here.

0

L'encapsulation est une technique utilisée pour masquer les propriétés & comportement d'un objet.

L'abstraction fait référence à la représentation de caractéristiques essentielles.

0

Encapsulation - Travail terminé et porte fermée en permanence. Obtenez des avantages professionnels grâce au nom de la méthode. Abstraction - Le travail a commencé et la porte a été fermée. Ouvrez et changez de travail en utilisant la clé prioritaire.

+0

Je ne comprends pas. – aliteralmind

+0

Pas le seul –