Maison > Article > développement back-end > Matériel recommandé pour les didacticiels vidéo C# de la Geek Academy
"Geek Academy C# Video Tutorial" est un cours d'introduction au langage C#. Dans le cours, il partira des concepts de base de la plateforme .NET et de C#, et fournira une introduction approfondie à la syntaxe de base. logique de programme simple et outils Visual Studio de développement C# Techniques d'utilisation et implémentation d'algorithmes couramment utilisés. En parallèle, nous espérons également qu'à travers des exercices liés au cours et des exercices de programmation, nous pourrons aider les étudiants à s'initier rapidement au langage C#.
Adresse de lecture du cours : http://www.php.cn/course/243.html
Le style d'enseignement de l'enseignant :
Les cours de l'enseignant sont simples et approfondis, de structure claire, analysés couche par couche, imbriqués, rigoureux dans l'argumentation, rigoureux dans la structure et l'utilisation le pouvoir logique de la pensée pour attirer l'attention des élèves. Force, utiliser la raison pour contrôler le processus d'enseignement en classe. En écoutant les cours de l'enseignant, les étudiants acquièrent non seulement des connaissances, mais reçoivent également une formation à la réflexion, et sont également influencés et influencés par l'attitude académique rigoureuse de l'enseignant
Le point le plus difficile de cette vidéo est l'objet -fonctionnalité orientée de C# :
1. Encapsulation : nous pouvons considérer n'importe quoi dans le monde comme un objet, prenons donc les gens comme exemple ici . Une personne est définitivement C'est un objet. Alors, qu’est-ce que l’encapsulation ? L'encapsulation signifie que lorsqu'une personne souhaite terminer une chose, elle apporte avec elle tous les outils dont elle a besoin et la technologie requise est également installée dans son esprit. Cela peut être accompli sans l’aide des autres. Quels en sont les avantages ? L'avantage est que si je veux dire à cette personne de terminer quelque chose, je n'ai pas besoin de savoir comment elle le termine, ni de l'aider à le terminer. Tant que je connais le résultat, tout ira bien si. il le complète. Quant à ce qu'il fait en premier et ce qu'il fait plus tard, je n'interviens pas. Cela l'aidera à le faire plus vite et mieux, et j'éviterai moi-même des ennuis.
1. Droits d'accès (visibilité)
Public : (disponible partout) Tous les packages et classes sont visibles après importation Public
Protégé : (héritage légal) lui-même, Sous-classes de différents packages eux-mêmes,
Private : (égoïste) visible uniquement dans cette classe
2,
(1), attributs-->private (propriétés privées, méthodes publiques , aucune valeur par défaut n'est requise)
(2), méthode --> public protected
L'explication écrite est la suivante : Chaque objet contient les informations dont il a besoin pour fonctionner Toutes les informations, donc les objets ne le sont pas doivent s'appuyer sur d'autres objets pour mener à bien leurs opérations.
2. Héritage : En prenant les gens comme exemple, chacun de nous aura des caractéristiques communes et fera les mêmes choses. Par exemple : Tout le monde a une tête, deux bras et deux jambes. Ce sont des caractéristiques communes. Tout le monde doit manger et boire de l’eau, ce qui est la même chose pour tous. Donc si nous voulons maintenant déclarer plusieurs individus, chacun d'entre eux aura ces caractéristiques, alors ne dois-je pas écrire beaucoup de code répété ? Nous pouvons donc d'abord créer une classe parent d'une personne. Cette classe parent ne représente pas une personne spécifique, mais est simplement une personne virtuelle qui possède toutes les caractéristiques communes des personnes. La prochaine fois que nous voudrons instancier une personne spécifique, il nous suffit d'hériter de cette personne de la "personne virtuelle" ci-dessus, et elle aura alors toutes les caractéristiques communes des personnes. De cette façon, nous n’avons pas besoin d’écrire ces codes répétés.
Bien sûr, le but de l'héritage n'est pas seulement de sauvegarder le code, mais aussi d'implémenter des fonctions polymorphes ultérieures. Les débutants doivent seulement comprendre que l'héritage peut leur faire économiser beaucoup de code, et le reste doit être compris lentement au cours du projet.
L'explication écrite est la suivante : l'héritage d'objet représente une relation "est-un". Si deux objets A et B peuvent être décrits comme "B est A", alors cela signifie que B peut hériter de A.
Remarque : Si A hérite de B, alors A possède non seulement toutes les caractéristiques de B à l'exception des caractéristiques privées, mais A peut également avoir ses propres caractéristiques uniques. Par exemple, dans l'exemple ci-dessus, une « personne virtuelle » hérite en plus d'avoir une tête, deux bras et deux jambes, et de devoir manger et boire, elle peut également être capable de programmer. La programmation est sa particularité, car tout le monde ne peut pas programmer.
1.
(1), suite : la classe parent existe, la sous-classe n'est pas remplacée mais peut être utilisée
(2), nouveau : la classe parent ; non, nouvellement ajouté
(3) et réécriture des sous-classes : le parent et les sous-classes existent, mais Fred ne répond pas aux exigences, donc la sous-classe la redéfinit
2.
(1) D'abord, la classe parent puis la classe enfant, statique d'abord puis membre
Lors de l'instanciation, appelez d'abord le constructeur statique de la classe parent, puis appelez la méthode constructeur de la classe parent ; classe parent , alors le bloc de construction de la sous-classe appelle la méthode de construction de la sous-classe
(2), le constructeur vide de la classe parent est appelé par défaut
3.
(1) Réécriture et surcharge :
Réécriture : dans les sous-classes héritées, les signatures de méthode sont les mêmes (nom de la méthode + ordre des types de numéros de paramètres formels)
Re -load : le même nom de méthode est le même et l'ordre du nombre de types de ginseng est différent. Visibilité de la sous-classe
A. Type de retour : le type de base et le vide doivent être les mêmes. idem ; le type de référence doit être
B. Exception :
C. Visibilité : supérieure ou égale à la méthode remplacée dans la classe parent
3. Polymorphisme : il doit y avoir un héritage avant le polymorphisme. Ce n'est que lorsque plusieurs classes héritent de la même classe en même temps qu'il peut y avoir un polymorphisme.
Prenons l’exemple des êtres humains. Nous avons déjà dit que tout le monde doit faire la même chose, comme « manger ». La question de « manger » se reflète dans la classe comme une méthode. Parce que tout le monde doit le faire, nous avons écrit cette méthode dans des « personnes virtuelles », mais tout le monde a des façons différentes de manger, certains utilisent des baguettes et d'autres des fourchettes, certains veulent manger du riz et certains veulent manger des pâtes. Donc, si nous voulons décrire le processus alimentaire de différentes personnes, nous devons classer ce processus dans une sous-catégorie spécifique, car chacun est différent. La même méthode peut être implémentée dans différentes sous-classes. Le polymorphisme contribue à la flexibilité du programme.
Remarque : Si la méthode de la classe parent (polymorphisme) est remplacée dans la sous-classe, alors cette méthode dans la classe parent ne sera plus appelée.
1. Avantages :
Simplifie l'interface de programmation. Il permet la réutilisation de certains noms usuels entre classes sans avoir à donner un nouveau nom à chaque fonction nouvellement ajoutée.
Simplifier le code
Si le paramètre fonction/méthode utilise le type de la classe parent, vous pouvez passer l'objet de la classe parent ou de la sous-classe
Limitations : Type de classe parent Les variables ne peuvent pas appeler directement des méthodes spécifiques à une sous-classe. Doit être converti de force en variable de type sous-classe avant que la méthode spécifique à la sous-classe puisse être appelée directement
2. Polymorphisme au moment de la compilation : en fait, il s'agit d'une surcharge, pour les membres non virtuels. , Déterminez les opérations à mettre en œuvre en fonction de différentes signatures.
3. Polymorphisme d'exécution : c'est-à-dire que la réécriture est implémentée via des membres virtuels, ce qui signifie que ce n'est que lorsque le système fonctionne que l'opération est décidée en fonction de la situation réelle.
Il est facile de comprendre le premier cas. Différentes signatures ont des implémentations différentes
Le deuxième cas est implémenté sur la base de l'héritage, et la sous-classe hérite de la classe de base à ce moment, en la remplaçant. les membres virtuels puis en utilisant la classe de base pour référencer l'objet de sous-classe, puis différents objets de sous-classe implémentent différentes opérations correspondantes.
Les avantages de ceci sont évidents. Utilisez le type de classe de base pour le définir une fois, puis transmettez-le dans différents objets de sous-classe, puis implémentez différentes opérations, ce qui améliore l'efficacité.
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!