抽象类
当抽象类作为父类时,他的子类对其中的抽象类方法有不同的方法体
简单举例为:
classHorse:Mammal,ILangBound
{
public int NumerOfLegs();
{
return 4;
}
}
interface ILandBound
{
int NumberOfLegs();
}
接口例子
main函数
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 作业3接口
{
class Program
{
static void Main(string[] args)
{
Horse horse = new Horse("斑马维尼");//初始化一个horse的函数
Console.WriteLine(horse.getName());//输出horse的名字
horse.ChrewGrass();//调用吃草这个函数
Sheep sheep = new Sheep("绵羊妮妮");初始化一个sheep的函数
Console.WriteLine(sheep.getName());//输出sheep的名字
sheep.ChrewGrass();//吃草
Cow cow = new Cow("小牛麦克");初始化一个cow的函数
Console.WriteLine(cow.getName());
cow.ChrewGrass();//吃草
ILandBound landbound = horse;
Console.WriteLine(landbound.NumberOfLegs());
Console.ReadKey();
}
}
}
sheep类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 作业3接口
{
class Sheep:GrazingMammal,ILandBound
{
public Sheep(string name):base(name)
{
}
public int NumberOfLegs()
{
throw new NotImplementedException();
}
public override void ChrewGrass()
{
Console.WriteLine("Chrewing Grass");
}
}
}
horse类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 作业3接口
{
class Horse:GrazingMammal,ILandBound
{
public Horse(string name):base(name)
{
}
int ILandBound.NumberOfLegs()
{
return 4;
}
public override void ChrewGrass()
{
Console.WriteLine("Chrewing Grass");
}
}
}
banba类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 作业3接口
{
class BanBa:Horse
{
public BanBa(string name)
: base(name)
{
}
}
}
cow类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 作业3接口
{
class Cow:GrazingMammal
{
public Cow(string name)
: base(name)
{
}
public override void ChrewGrass()
{
Console.WriteLine("反刍");
}
}
}
mammal类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 作业3接口
{
class Mammal
{
private string name;
public string getName()
{
return name;
}
public Mammal(string initialName)
{
name = initialName;
}
public void Breath()
{
Console.WriteLine(name + "这个哺乳动物正在呼吸");
}
public void SunkleYoung()
{
Console.WriteLine(name + "这个哺乳动物正在哺乳");
}
}
}
ILandBound类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 作业3接口
{
interface ILandBound
{
int NumberOfLegs();
}
}
IJourney类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 作业3接口
{
interface IJourney
{
int NumberOfLegs();
}
}
IGrazable类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 作业3接口
{
interface IGrazable
{
void ChrewGrass();
}
}
GrazingMammal类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 作业3接口
{
abstract class GrazingMammal:Mammal,IGrazable
{
public GrazingMammal(string name):base(name)
{
}
public abstract void ChrewGrass();
}
}