Nous avons fini d'étudier le type de données simple en C# - type valeur. Ensuite, nous apprendrons un autre type de données en C# - type référence. Le mot "référence" désigne ici une variable de ce type. value directement, mais pointe vers la valeur qu’il souhaite stocker, c’est-à-dire que le type référence stocke l’adresse de la variable. Il existe 4 types de référence en C# :
Class
représente
Array
Interface
Ici, je présenterai d'abord brièvement leurs significations et définitions respectives, et j'écrirai des exemples spécifiques pour les présenter en détail plus tard.
Classe
La classe est l'unité de base de l'organisation orientée objet. Il s'agit d'une structure de données qui contient des membres de données, des membres de fonction et des types imbriqués. Les données membres d'une classe incluent des constantes, des champs et des événements ; les membres de fonction incluent des méthodes, des propriétés, des indicateurs d'index, des opérateurs, des constructeurs et des destructeurs ; les classes et les structures (structs) contiennent également leurs propres membres, mais entre eux, la principale différence est que les classes sont des types référence, tandis que les structures sont des types valeur. Les classes prennent en charge le mécanisme d'héritage.En héritant des classes dérivées, vous pouvez étendre les données membres et les méthodes de fonction de la classe de base, atteignant ainsi l'objectif de réutilisation du code et de réutilisation de la conception. (L'héritage et la dérivation des classes seront discutés en détail plus tard, et la définition des classes sera écrite dans le prochain article. Lorsque vous définissez une classe, vous définissez un modèle d'un type de données.) Cela ne définit en réalité aucune donnée (car il s'agit d'une adresse), mais définit ce que signifie le nom de la classe, c'est-à-dire en quoi consiste l'objet de la classe et quelles opérations peuvent être effectuées sur cet objet. Les objets sont des instances de classes. Les méthodes et variables qui composent une classe deviennent membres de la classe. Si nous définissons une variable pour une certaine classe, nous l'appelons une instance de la classe (elle peut aussi être appelée un objet, mais nous changerons le nom plus tard). Permettez-moi de mentionner à nouveau que les deux classes couramment utilisées en C#, la classe Object et la classe String, seront également abordées en détail plus tard.
ReprésentantReprésentant C# (également connu sous le nom de commission, délégué), il est similaire au pointeur en C/C. Une suppression accidentelle peut provoquer le crash de l'ensemble du programme, et le délégué est en sécurité en C# . Delegate fait référence à une certaine méthode, dérivée de la classe System.Delegate. Lorsqu'un Delegate est défini, il s'agit d'une extension de System.Delegare. L'utilisation spécifique sera discutée en détail plus tard. Tableau Lors du traitement de données par lots, nous utiliserons des tableaux Comme C/C, un tableau est un ensemble de données ordonnées du même type, un. collection utilisée pour stocker des données, décrite par le nom du tableau, le type et la dimension des éléments de données. System.Array fourni en C# est la classe de base pour tous les types de tableaux. Un élément spécifique du tableau est accessible par index. Tous les tableaux sont composés d’emplacements mémoire contigus. L'adresse la plus basse correspond au premier élément et l'adresse la plus élevée correspond au dernier élément. Interface Interface définit le contrat de syntaxe que toutes les classes doivent suivre lors de l'héritage de l'interface. L'interface définit la partie « quoi » du contrat de syntaxe et la classe dérivée définit la partie « comment » du contrat de syntaxe. Une interface définit les propriétés, les méthodes et les événements qui sont membres de l'interface. L'interface contient uniquement la déclaration des membres. La définition des membres relève de la responsabilité de la classe dérivée. Les interfaces fournissent une structure standard que les classes dérivées doivent suivre. Les classes abstraites sont similaires aux interfaces d'une certaine manière, cependant, elles ne sont principalement utilisées que lorsqu'il n'y a que quelques méthodes déclarées par la classe de base et implémentées par la classe dérivée. (C'est-à-dire que l'interface ne fournit que des déclarations de méthode, et la méthode spécifique est déterminée par la sous-classe qui en hérite. Par exemple, si je donne 100 yuans chacune à 5 personnes, ce qu'elles font avec les 100 yuans ne me regarde pas. . Uniquement responsable de fournir de l'argent) L'interface est déclarée à l'aide du mot-clé interface, qui est similaire à la déclaration d'une classe. Les déclarations d'interface sont publiques par défaut. L'héritage multiple peut être obtenu via des interfaces. (Plus de détails plus tard) Ce qui précède est le contenu du journal d'apprentissage C# 12 --- Types de référence des types de données (Préface). Pour plus de contenu connexe, veuillez faire attention au PHP. Site chinois (www.php .cn) !