-
Quel est le nom du paramètre implicite passé dans la méthode set d'une propriété ?
valeur, dont le type est le même que le type déclaré de la propriété.
Comment implémenter l’héritage en C# ?
Ajoutez deux points après le nom de la classe, suivis du nom de la classe de base.
C# prend-il en charge l’héritage multiple ?
Non pris en charge. Ceci peut être réalisé en utilisant des interfaces.
Où peut-on accéder aux propriétés/méthodes protégées ?
On y accède par héritage ou héritage indirect et sous-classes de cette classe.
Les membres privés seront-ils hérités ?
Oui, mais il n'est pas accessible. Il semble donc qu’ils ne puissent pas être hérités, mais en fait ils sont hérités. (À mon avis, une sous-classe hérite de tout de la classe parent. <Penser en JAVA> dit que l'objet de sous-classe a une copie complète de l'objet de classe parent. L'instanciation d'une classe est instanciée à partir de la superclasse de niveau supérieur, est une couche- structure d'emballage par couche. La méthode d'accès privé restreint ne peut être qu'à l'intérieur de la classe. Il s'agit simplement d'un contrôle d'accès. En fait, l'objet de sous-classe possède tout l'objet de classe parent.)
Veuillez décrire le modificateur protected internal.
Les propriétés/méthodes modifiées par protected internal ne sont accessibles que par ses sous-classes dans le même assembly (Assembly).
C# fournit un constructeur sans paramètre par défaut. Lorsque j'implémente un autre constructeur avec un paramètre, je souhaite également conserver ce constructeur sans paramètre. Combien de constructeurs dois-je écrire de cette manière ?
Deuxièmement, une fois que vous avez implémenté un constructeur, C# ne fournira plus de constructeur par défaut, vous devez donc implémenter manuellement le constructeur sans paramètre.
Quelle est la classe de base commune à tous les objets en C# ?
Système.Object.
Quelle est la différence entre la surcharge et l’écrasement ?
La surcharge fournit l'implémentation de l'appel d'une signature de méthode avec différents paramètres. La substitution fournit une implémentation dans une sous-classe qui modifie le comportement d'une méthode de classe parent.
Que signifie virtuel dans une définition de méthode ?
Les méthodes modifiées par virtual peuvent être remplacées par des sous-classes.
Les méthodes non statiques peuvent-elles être remplacées par des méthodes statiques ?
Non, la signature de la méthode substituée doit être cohérente avec la signature de la méthode substituée, sauf pour le changement de virtual en override.
Les méthodes virtuelles privées peuvent-elles être remplacées ?
Non, même les méthodes privées de la classe parent ne sont pas accessibles dans la sous-classe.
Peut-on empêcher qu’une classe soit héritée par d’autres classes ?
Oui, utilisez le mot-clé scellé.
Est-il possible d'autoriser l'héritage d'une certaine classe, mais pas de remplacer une certaine méthode qu'elle contient ?
Oui, marquez cette classe comme publique et marquez cette méthode comme scellée.
Qu'est-ce qu'une classe abstraite ?
Une classe qui ne peut pas être instanciée. Les classes abstraites contiennent généralement des méthodes abstraites, mais bien sûr elles peuvent aussi avoir des implémentations concrètes. Une classe héritée ne peut être instanciée qu’après avoir implémenté toutes les méthodes abstraites de la classe abstraite.
Quand une classe doit-elle être déclarée abstraite ?
Lorsque cette classe contient des méthodes abstraites, ou lorsque la classe n'implémente pas entièrement les méthodes abstraites de la classe parent.
Qu'est-ce qu'une interface ?
Classes qui contiennent uniquement des méthodes abstraites publiques. Ces méthodes doivent être implémentées dans des sous-classes.
Pourquoi ne puis-je pas spécifier de modificateurs pour les méthodes dans une interface ?
Les méthodes de l'interface sont utilisées pour définir le contrat de communication entre les objets. Cela n'a aucun sens de spécifier les méthodes de l'interface comme privées ou protégées. Ils utilisent par défaut les méthodes publiques.
Puis-je hériter de plusieurs interfaces ?
certainement.
Et s’il y a des noms de méthodes en double dans ces interfaces ?
Dans ce cas, vous pouvez décider comment le mettre en œuvre. Bien sûr, vous devez être très prudent. Mais il n'y a aucun problème dans le processus de compilation.
Quelle est la différence entre l’interface et la classe abstraite ?
Toutes les méthodes d'une interface doivent être abstraites et les modificateurs d'accès aux méthodes ne peuvent pas être spécifiés. Les classes abstraites peuvent avoir des implémentations de méthodes et peuvent également spécifier des modificateurs d'accès pour les méthodes.
Comment distinguer les méthodes surchargées ?
Différents types de paramètres, différents numéros de paramètres et différents ordres de paramètres.
Quelle est la différence entre const et lecture seule ?
Le mot-clé const est utilisé pour déclarer les constantes de compilation et readonly est utilisé pour déclarer les constantes d'exécution.
Quelle est la différence entre System.String et System.StringBuilder ?
System.String est une chaîne immuable. System.StringBuilder stocke une chaîne variable et fournit quelques méthodes pour modifier cette chaîne.
Cet article provient du blog CSDN Veuillez indiquer la source lors de la réimpression : http://blog.csdn.net/thy822/archive/2009/12/23/5060689.aspx.
-