web-dev-qa-db-fra.com

Que sont public, privé et protégé dans la programmation orientée objet?

Que sont public, privé et protégé dans la programmation orientée objet?

73
Delirium tremens

Ils sont modificateurs d’accès et nous aident à mettre en œuvre Encapsulation (ou masquage d’informations). Ils indiquent au compilateur quelles autres classes devraient avoir accès au champ ou à la méthode en cours de définition. 

private - Seule la classe en cours aura accès au champ ou à la méthode.

protected - Seules la classe et les sous-classes actuelles (et parfois aussi les classes du même package) de cette classe auront accès au champ ou à la méthode.

public - Toute classe peut faire référence au champ ou appeler la méthode.

Cela suppose que ces mots-clés font partie d'une déclaration de champ ou de méthode dans une définition de classe.

125
Ben S

Tous les trois sont des modificateurs d'accès et des mots-clés utilisés dans une classe . Tout ce qui est déclaré en public peut être utilisé par tout objet de la classe ou en dehors de la classe, les variables en privé ne peuvent être utilisées que par les objets de la classe et ne peut pas être changé par accès direct (car il peut changer par des fonctions telles que la fonction ami). Tout ce qui est défini dans la section protected peut être utilisé par la classe et sa classe dérivée juste.

4
monica

Ce ne sont pas vraiment des concepts, mais plutôt des mots-clés spécifiques (avec une sémantique légèrement différente) dans les langages populaires tels que C++ et Java. 

Ils sont essentiellement destinés à permettre à une classe de restreindre l'accès aux membres (champs ou fonctions). L'idée est que moins un type est autorisé à accéder à un autre type, moins la dépendance peut être créée. Cela permet de modifier plus facilement l’objet accédé sans affecter les objets qui y font référence.

De manière générale, public signifie que tout le monde est autorisé à accéder, privé signifie que seuls les membres de la même classe sont autorisés à accéder et protégé signifie que les membres des sous-classes sont également autorisés. Cependant, chaque langue ajoute ses propres choses à cela. Par exemple, C++ vous permet d'hériter de manière non publique. En Java, il existe également un niveau d'accès par défaut (package), des règles concernant les classes internes, etc.

3
Uri

Un élément public est un élément accessible depuis n'importe quelle autre classe. Vous devez simplement savoir de quel objet il s'agit et vous pouvez utiliser un opérateur de point pour y accéder. Protégé signifie qu'une classe et ses sous-classes ont accès à la variable, mais pas à d'autres classes. Elles doivent utiliser un getter/setter pour utiliser la variable. Un privé signifie que seule cette classe a un accès direct à la variable, tout le reste a besoin d'une méthode/fonction pour accéder à ces données ou les modifier. J'espère que cela t'aides.

1
mnuzzo

Pour résumer, en programmation orientée objet, tout est modélisé en classes et objets . Les classes contiennent des propriétés et méthodes . une classe d'autres classes ou d'autres .dll ou même d'autres applications.

0
Zaki