Maison développement back-end Tutoriel C#.Net Compilation des connaissances de base en C# : connaissances de base (5) surcharge des méthodes

Compilation des connaissances de base en C# : connaissances de base (5) surcharge des méthodes

Feb 11, 2017 pm 01:13 PM

Les enseignants ont tous cette méthode de cours. Un enseignant a d'abord enseigné dans une région montagneuse isolée de l'ouest en se tenant devant un tableau en bois dans la classe. Après quelques années de bons résultats, il a été transféré dans un établissement légèrement meilleur. ville et je me suis assis devant la salle de classe. J'utilise un équipement multimédia pour enseigner. Quelques années plus tard, j'ai passé l'examen de doctorat. Après avoir obtenu mon diplôme, j'ai continué à travailler comme enseignant, mais maintenant je reste à la maison et j'enseigne à distance. devant l'ordinateur. Ce sont toutes des méthodes magistrales, et il existe différents processus d'exécution et résultats de sortie dans différentes conditions (différents paramètres). C'est une surcharge.
La définition de la surcharge est la suivante : dans une même classe, ou dans une sous-classe de cette classe, il existe plusieurs méthodes portant le même nom, qui sont surchargées. Cependant, la méthode a le même nom mais la liste des paramètres doit être différente. . Dans le cas d'une sous-classe, la sous-classe a une méthode portant le même nom que la méthode de la classe parent mais une liste de paramètres différente, et la méthode portant ce nom dans la classe parent doit être protégée et publique.
Regardez le code ci-dessous :
Après l'examen d'entrée à l'université de l'école, plusieurs étudiants ont été admis à l'Université de Pékin et à l'Université Tsinghua, l'école a donc invité les professeurs à dîner dans un hôtel cinq étoiles. Lorsque vous accueillez les clients à la porte, saluez-les : M./Mme, bienvenue !

using System;

namespace YYS.CSharpStudy.MainConsole
{
    public class YSchool
    {
        private int id = 0;

        private string name = string.Empty;

        public int ID
        {
            get
            {
                return this.id;
            }
        }

        public string Name
        {
            get
            {
                return name;
            }
        }

        public YSchool()
        {
            this.id = 0;

            this.name = @"清华大学附中";
        }

        public  YSchool(int id, string name)
        {
            this.id = id;

            this.name = name;
        }

        /// <summary>
        /// 构造器
        /// </summary>
        public  YSchool(int id)
        {
            this.id = id;

            this.name = @"陕师大附中";
        }
    }

    public class YTeacher
    {
        private int id = 0;

        private string name = string.Empty;

        private YSchool school = null;

        private string introDuction = string.Empty;

        private string imagePath = string.Empty;

        public int ID
        {
            get
            {
                return id;
            }
        }

        public string Name
        {
            get
            {
                return name;
            }
        }

        public YSchool School
        {
            get
            {
                if (school == null)
                {
                    school = new YSchool();
                }
                return school;
            }

            set
            {
                school = value;
            }
        }

        public string IntroDuction
        {
            get
            {
                return introDuction;
            }

            set
            {
                introDuction = value;
            }
        }

        public string ImagePath
        {
            get
            {
                return imagePath;
            }

            set
            {
                imagePath = value;
            }
        }
        /// <summary>
        /// 构造器
        /// </summary>
        public YTeacher(int id, string name)
        {
            this.id = id;

            this.name = name;
        }

        /// <summary>
        /// 构造器
        /// </summary>
        public YTeacher(int id, string name, YSchool school)
        {
            this.id = id;

            this.name = name;

            this.school = school;
        }

        /// <summary>
        /// 给学生讲课的方法
        /// </summary>
        public void ToTeachStudents()
        {
            Console.WriteLine(string.Format(@"{0} 老师教育同学们: Good Good Study,Day Day Up!", this.name));
        }
        /// <summary>
        /// 惩罚犯错误学生的方法
        /// </summary>
        /// <param name="punishmentContent"></param>
        public void PunishmentStudents(string punishmentContent)
        {
            Console.WriteLine(string.Format(@"{0} 的{1} 老师让犯错误的学生 {2}。", this.School.Name, this.name, punishmentContent));
        }
    }

    public class MrTeacher : YTeacher
    {
        public MrTeacher(int id, string name)

            : base(id, name)
        {

        }

        /// <summary>
        /// 扩展的方法,刮胡子方法。
        /// </summary>
        public void Shave()
        {
            Console.WriteLine(string.Format(@"{0} 老师用飞科剃须刀刮胡子。",this.Name));
        }
    }

    public class MisTeacher : YTeacher
    {
        public MisTeacher(int id, string name)

            : base(id, name)
        {

        }

        /// <summary>
        /// 扩展方法,护肤的方法
        /// </summary>
        public void SkinCare()
        {
            Console.WriteLine(string.Format(@"{0} 老师用香奈儿护肤霜护肤。", this.Name));
        }
    }

    public class FiveStarsHotel
    {
        /// <summary>
        /// 重载
        /// </summary>
        public void Welcome(MrTeacher mTeacher)
        {
            Console.WriteLine(@"先生,欢迎光临!");
        }
        /// <summary>
        /// 重载
        /// </summary>
        public void Welcome(MisTeacher misTeacher)
        {
            Console.WriteLine(@"女士,欢迎光临!");
        }
    }
}
Copier après la connexion
using System;

namespace YYS.CSharpStudy.MainConsole
{
    class Program
    {
        static void Main(string[] args)
        {
            FiveStarsHotel hotel = new FiveStarsHotel();

            MrTeacher mrTeacher = new MrTeacher(1, @"牛轰轰");

            Console.WriteLine(@"牛轰轰 来了");

            hotel.Welcome(mrTeacher);//男老师进门

            MisTeacher misTeacher = new MisTeacher(2, @"郝漂靓");

            Console.WriteLine(@"郝漂靓 来了");
            
            hotel.Welcome(misTeacher);//女老师进门

            Console.ReadKey();
        }
    }
}
Copier après la connexion

Résultat :

En regardant le code ci-dessus, les constructeurs de YTeacher et YSchool sont surchargés.
L'avantage de la surcharge est qu'elle peut rendre la logique plus claire. Par exemple, dans le code ci-dessus, la méthode Welcome peut en fait écrire une méthode, puis utiliser des instructions if else ou switch pour juger, et enfin afficher le résultat. Mais nous réalisons un projet non seulement pour compléter une certaine fonction, mais aussi pour rendre le code hautement lisible, clair en logique et facile à maintenir. Par conséquent, nous devons rendre le code logiquement plus proche de la logique du monde réel. L'utilisation de la surcharge peut rendre le code plus facile à comprendre et les étapes d'exécution intuitives.

Ce qui précède est la compilation des connaissances de base de C# : connaissances de base (5) surcharge des méthodes. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Active Directory avec C# Active Directory avec C# Sep 03, 2024 pm 03:33 PM

Guide d'Active Directory avec C#. Nous discutons ici de l'introduction et du fonctionnement d'Active Directory en C# ainsi que de la syntaxe et de l'exemple.

Modificateurs d'accès en C# Modificateurs d'accès en C# Sep 03, 2024 pm 03:24 PM

Guide des modificateurs d'accès en C#. Nous avons discuté de l'introduction Types de modificateurs d'accès en C# ainsi que d'exemples et de résultats.

Générateur de nombres aléatoires en C# Générateur de nombres aléatoires en C# Sep 03, 2024 pm 03:34 PM

Guide du générateur de nombres aléatoires en C#. Nous discutons ici du fonctionnement du générateur de nombres aléatoires, du concept de nombres pseudo-aléatoires et sécurisés.

Vue Grille de données C# Vue Grille de données C# Sep 03, 2024 pm 03:32 PM

Guide de la vue Grille de données C#. Nous discutons ici des exemples de la façon dont une vue de grille de données peut être chargée et exportée à partir de la base de données SQL ou d'un fichier Excel.

Lecteur de chaînes C# Lecteur de chaînes C# Sep 03, 2024 pm 03:23 PM

Guide de C# StringReader. Nous discutons ici d'un bref aperçu de C# StringReader et de son fonctionnement avec différents exemples et codes.

Modèles en C# Modèles en C# Sep 03, 2024 pm 03:33 PM

Guide des modèles en C#. Nous discutons ici de l'introduction et des 3 principaux types de modèles en C# ainsi que de ses exemples et de l'implémentation du code.

Sérialisation C# Sérialisation C# Sep 03, 2024 pm 03:30 PM

Guide de sérialisation C#. Nous discutons ici de l'introduction, des étapes de l'objet de sérialisation C#, du fonctionnement et de l'exemple respectivement.

Écrivain de chaînes C# Écrivain de chaînes C# Sep 03, 2024 pm 03:23 PM

Guide de C# StringWriter. Nous discutons ici d'un bref aperçu de la classe C# StringWriter et de son fonctionnement avec différents exemples et codes.

See all articles