Journal d'apprentissage C# 22 --- Héritage multiple

黄舟
Libérer: 2017-01-21 15:23:41
original
1605 Les gens l'ont consulté

L'héritage est l'un des concepts les plus importants de la programmation orientée objet. L'héritage nous permet de définir une classe basée sur une classe pour définir une autre classe. Lorsqu'une classe est dérivée d'une autre classe, la classe dérivée hérite des caractéristiques de la classe de base

L'idée d'héritage est réalisée Appartient. à (EST-UNE) relation. Par exemple, les mammifères sont des animaux (IS-A), les chiens sont des mammifères (IS-A), donc les chiens sont des animaux (IS-A).

Classe de base et classe dérivée :

  En C#, une classe dérivée hérite des membres, méthodes, propriétés, champs, événements, indicateurs d'index de sa classe de base directe mais à l'exception des fonctions constructeurs et destructeurs.

Écrivez un exemple ci-dessous.

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
  
namespace Test  
{  
    class Anlimal  //定义一个基类  
    {  
        protected int foot = 4;  
        protected double weight = 22.4;  
        protected void say(string type, string call)  
        {  
            Console.WriteLine("类别:{0},叫声:{1} ",type,call);  
        }  
    }  
   
    //Dog 继承Anlimal   
    class Dog:Anlimal  
    {  
        static void Main(string[] args)  
        {  
            Dog dog = new Dog();  
            int foot = dog.foot;  
            double weight = dog.weight;  
            Console.WriteLine("dog foot: {0}\ndog weight:{1}",foot,weight);  
            dog.say("狗", "汪汪");  
        }  
    }  
}
Copier après la connexion

Résultat

Journal dapprentissage C# 22 --- Héritage multiple

Héritage multiple :

C# ne prend pas en charge l'héritage multiple. Cependant, vous pouvez utiliser des interfaces pour implémenter l'héritage multiple. Dans l'exemple ci-dessus, nous avons ajouté une interface smallanlimal

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
  
namespace Test  
{  
    class Anlimal  //定义一个基类  
    {  
        protected int foot = 4;  
        protected double weight = 22.4;  
        protected void say(string type, string call)  
        {  
            Console.WriteLine("类别:{0},叫声:{1} ",type,call);  
        }  
    }  
  
    public interface smallanlimal  //添加一个接口 接口只声明方法在子类中实现  
    {  
        protected void hight(double hight);  
         
    }  
    //Dog 继承Anlimal   
    class Dog:Anlimal,smallanlimal  
    {  
        public void hight(double hight)  //实现接口  
        {  
            Console.WriteLine("Hight: {0}",hight);  
        }  
        static void Main(string[] args)  
        {  
            Dog dog = new Dog();  
            int foot = dog.foot;  
            double weight = dog.weight;  
            dog.hight(23.23);  
            Console.WriteLine("dog foot: {0}\ndog weight:{1}",foot,weight);  
            dog.say("狗", "汪汪");  
        }  
    }  
}
Copier après la connexion

Ce qui précède est le contenu du journal d'apprentissage C# 22 --- Veuillez faire attention. vers du contenu plus pertinent. Site Web PHP chinois (www.php.cn) !


É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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!