Maison > développement back-end > C++ > Comment pouvons-nous imiter la fonctionnalité « ami » de C en Java ?

Comment pouvons-nous imiter la fonctionnalité « ami » de C en Java ?

Linda Hamilton
Libérer: 2024-12-16 19:23:11
original
333 Les gens l'ont consulté

How Can We Mimic C  's `friend` Functionality in Java?

Imiter le concept « ami » de C en Java

En programmation orientée objet, le concept « ami » permet des classes dans différents packages pour accéder aux membres non publics de chacun. Bien que Java ne dispose pas d'un mécanisme « ami » explicite, il existe une solution de contournement intelligente pour obtenir des fonctionnalités similaires.

Considérez deux classes, Roméo et Juliette, appartenant à des packages différents. Pour permettre à Roméo d'accéder aux méthodes non publiques de Juliette, suivez ces étapes :

  1. Créez une classe de jetons dans le package de Roméo : Définissez une classe publique Love dans le package de Roméo, avec un constructeur privé. Cette classe agit comme un jeton de « sécurité de signature ».
  2. Créez une méthode publique dans le package de Juliet : Définissez une méthode publique cuddle dans le package de Juliet qui accepte un argument de type Love.
  3. Restreindre l'accès aux câlins : Dans la méthode câlin, vérifiez si le jeton d'amour transmis n'est pas nul. Sinon, cela garantit que seul Roméo peut appeler cuddle.
  4. Accédez à la méthode Cuddle depuis Romeo : Définissez une méthode statique publique cuddleJuliet dans Roméo qui construit une instance de Love et la transmet à Juliet. câlin.

Cette technique permet à Roméo d'accéder aux méthodes non publiques de Juliet sans en faire une sous-classe de Juliet. En transmettant un jeton unique, cela garantit que seul Roméo peut appeler ces méthodes, reproduisant ainsi le comportement du concept « ami » en C.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal