Maison > développement back-end > Tutoriel C#.Net > Les difficultés C# sont décomposées une par une (5) : Types d'accès aux classes

Les difficultés C# sont décomposées une par une (5) : Types d'accès aux classes

黄舟
Libérer: 2016-12-22 14:11:30
original
1227 Les gens l'ont consulté

Quand on parle des différences entre ces quatre catégories, il est nécessaire d'expliquer un concept : l'assemblage. Assembly (Assembly) peut être simplement compris comme un fichier .dll ou .exe généré après la compilation. Par rapport à l'espace de noms, il s'agit de la forme d'organisation logique de la bibliothèque de classes. Elle peut être appelée la forme d'organisation physique de la bibliothèque de classes de programme. décrit "assembly" Contient des métadonnées décrivant leurs propres numéros de build et des détails sur toutes les données et types d'objets qu'ils contiennent". La situation générale est qu'un assembly peut contenir un ou plusieurs espaces de noms.

Public : visible par toute méthode de toute autre classe ;
Privé : les membres définis dans cette classe ne sont accessibles que par les méthodes de cette classe ;
Protégé : les membres de cette classe ne sont accessibles que par les méthodes de cette classe ; by Les méthodes de cette classe et les méthodes des classes qui héritent de cette classe ne sont accessibles que par
interne : les membres de cette classe ne sont accessibles que par les méthodes de n'importe quelle classe de l'assembly où se trouve cette classe
protected internal ; : protégé et interne L'union de .
Donc, le niveau d'accès de haut en bas doit être Public>protected internal>internal>Protected>Private

Le modificateur par défaut de la classe est interne, le modificateur par défaut des variables membres de la classe est privé , et l'espace de noms peut considérer le modificateur public. Un autre point mentionné sur msdn est que le niveau d'accès d'une classe héritante ne peut pas être supérieur au niveau d'accès de la classe héritée. Par exemple, une classe interne ne peut pas hériter d'une classe privée.

using System; 

/****************************** 
* Chapter:C#难点逐个击破(五) 
* Author:王洪剑 
* Date:2010-1-15 
* Blog:http://www.51obj.cn/ 
* Email:walkingp@126.com 
* Description:访问修改符 
* ***************************/ 
namespace TestMain 
{ 
public class A 
{ 
public void Alert() 
{ 
} 
} 

internal class B:A 
{ 
internal new void Alert() 
{ 
Console.WriteLine("you"); 
} 
} 

class Program 
{ 
static void Main() 
{ 
B b=new B(); 
b.Alert(); 

} 
} 
}
Copier après la connexion

Ce qui précède est le contenu de la difficulté C# un par un (5) : Type d'accès à la classe Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (m.sbmmt.com) !


É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