Visibility
SolidityDéfinition
Spécifie qui peut accéder à une fonction ou variable. 4 niveaux : public (tous), external (seulement extérieur, pas d'appels internes), internal (contrat + héritage), private (contrat uniquement). Pour les variables d'état : public génère automatiquement un getter. Critique pour la sécurité : toujours spécifier explicitement.
Version anglaise
Specifies who can access a function or variable. 4 levels: public (all), external (only external, no internal calls), internal (contract + inheritance), private (contract only). For state variables: public automatically generates getter. Critical for security: always specify explicitly.
Exemple de Code
contract Visibility {
uint256 public publicVar; // Accessible partout, getter auto
uint256 internal internalVar; // Contrat + enfants
uint256 private privateVar; // Seulement ce contrat
function publicFunc() public {} // Appelable partout
function externalFunc() external {} // Seulement de l'extérieur (+ économe)
function internalFunc() internal {} // Contrat + enfants
function privateFunc() private {} // Seulement ce contrat
function testCall() public {
publicFunc(); // ✅ OK
// externalFunc(); // ❌ Erreur : seulement depuis l'extérieur
internalFunc(); // ✅ OK
privateFunc(); // ✅ OK
}
}Termes Liés
Pages Liées
Pratique ce concept sur Solingo
Maîtrise Visibility avec des exercices interactifs et un IDE intégré.
Commencer gratuitement