您的位置:首页 > 编程语言 > C#

C#学习日记22---多重继承

2015-10-12 18:44 447 查看
         继承是面向对象程序设计中最重要的概念之一。继承允许我们根据一个类来定义另一个类来定义一个类,一个类从另一个类派生出来时,派生类从基类那里继承特性
         继承的思想实现了 属于(IS-A) 关系。例如,哺乳动物
属于(IS-A) 动物,狗 属于(IS-A) 哺乳动物,因此狗 属于(IS-A) 动物。

基类与派生类:

    C#中派生类从他的直接基类继承成员,方法、属性、域、事件、索引指示器但是除开构造函数与析构函数。

 下面写个实例。 

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("狗", "汪汪");
}
}
}


结果:


 

   

多重继承:

         C# 不支持多重继承。但是,您可以使用接口来实现多重继承,上面的例子我们为他添加一个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("狗", "汪汪");
}
}
}


 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# class 数据类型 继承