Maison > Article > développement back-end > Journal d'apprentissage C# 22 --- Héritage multiple
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("狗", "汪汪"); } } }
Résultat
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("狗", "汪汪"); } } }
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) !