继承是面向对象程序设计中最重要的概念之一。继承允许我们根据一个类来定义另一个类来定义一个类,一个类从另一个类派生出来时,派生类从基类那里继承特性
继承的思想实现了 属于(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#学习日记22---多重继承的内容,更多相关内容请关注PHP中文网(www.php.cn)!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号