Explication détaillée des exemples de portée de cinq modificateurs d'accès en C#

零下一度
Libérer: 2017-06-29 14:36:23
original
4798 Les gens l'ont consulté

Dans le langage C#, il existe cinq modificateurs d'accès : public, privé, protégé, interne et protégé interne. La portée du champ d'application est la suivante :
Modificateur d'accès Description
accès public public. sans aucune restriction.
accès privé privé. L'accès est limité aux membres de cette classe, et non aux sous-classes ou instances.
protected protège l'accès. L'accès est limité à cette classe et à ses sous-classes, et les instances ne sont pas accessibles.
accès interne interne. L'accès est limité à ce projet et n'est pas accessible aux autres.
accès interne protégé interne protégé. L'accès est limité à ce projet ou à ses sous-classes. D'autres types de membres
C# inaccessibles peuvent être modifiés et les modificateurs par défaut sont les suivants :
Type de membre Modificateur par défaut Peut être modifié
enum public none
class private public, protected, internal, private,
protected internal
interface public none
struct private public, internal, private
Maintenant, je vais parler de public, private, protected, internal et de la portée de protected internal.
Le code suivant :

[csharp] view plain copy
 
using System;  
using System.Collections.Generic;  
using System.Text;  
  
namespace AccessModifier  
{  
    public class AccessModifierClass  
    {  
        public string GetPublicString()  
         {  
            return "Public String";  
         }  
  
        protected string GetProtectedString()  
         {  
            return "Protected String";  
         }  
  
         private string GetPrivateString()  
         {  
            return "Private String";  
         }  
  
         internal string GetInternalString()  
         {  
            return "Internal String";  
         }  
  
        protected internal string GetProtectedInternalString()  
         {  
            return "Protected Internal String";  
         }  
  
        void AvailableAccessModifier()  
        {  
         this.GetPublicString();  
         this.GetPrivateString();  
         this.GetInternalString();  
         this.GetProtectedInternalString();  
         this.GetProtectedString();  
        }  
     }  
  
  
    public class TestAccessModifierClass1  
     {  
         void AvailableAccessModifier()  
         {  
             AccessModifierClass item = new AccessModifierClass();  
             item.GetPublicString();  
             item.GetInternalString();  
             item.GetProtectedInternalString();  
         }  
     }  
  
     public class TestAccessModifierClass2 : AccessModifierClass  
     {  
         void AvailableAccessModifier()  
         {  
             AccessModifierClass item = new AccessModifierClass();  
             item.GetPublicString();  
             item.GetInternalString();  
             item.GetProtectedInternalString();  
             base.GetProtectedString();  
         }  
     }  
 }
Copier après la connexion


AccessModifierClass est notre classe de modificateur d'accès, qui possède cinq méthodes de modificateur d'accès. On peut voir que la méthode AvailableAccessModifier() dans la classe AccessModifierClass. peut accéder à toutes les méthodes.
La méthode AvailableAccessModifier() de la classe TestAccessModifierClass1 ne peut accéder qu'aux méthodes publiques, internes et internes protégées.

La classe TestAccessModifierClass2 hérite de la classe AccessModifierClass, donc sa méthode AvailableAccessModifier() peut accéder aux méthodes internes publiques, internes, protégées et protégées.

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!