定义一个接口,用于描述动物的生活习性,包含食性、捕食、分布区域、睡觉方式、群居方式等;接口里面包括属性和方法。
例如:
interface IHabit
{
void CatchFood();
string food{get;set;}
……
}
然后定义猫、老虎、狮子、大象等几个动物类来实现该接口;
最后定义一个调用类,来运行程序,查看接口的使用情况。
//本程序由王赟 计算机092编写 2011,11,7 编写,仅供交流
//做完C#作业,便把东西传了上来。
///wangyun 2011,11,07 23:34 at Dormitory 3#1548
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace S4_1
{
interface IHabit
{
/// <summary>
/// 扑食
/// </summary>
void CatchFood();
/// <summary>
/// 食性
/// </summary>
string Food { get; set; }
/// <summary>
/// 分布区域
/// </summary>
void AreaDistribution();
/// <summary>
/// 睡觉方式
/// </summary>
void SleepPattern();
/// <summary>
/// 群居方式
/// </summary>
void SocialPattern();
}
/// <summary>
/// 猫
/// </summary>
class Cat : IHabit
{
private string food="Cat Food";
public void CatchFood()
{
Console.WriteLine("From Cat.CatchFood");
}
public string Food
{
get
{
return food;
}
set
{
food = value;
}
}
public void AreaDistribution()
{
Console.WriteLine("From Cat AreaDistribution");
}
public void SleepPattern()
{
Console.WriteLine("From Cat SleepPattern");
}
public void SocialPattern()
{
Console.WriteLine("From Cat SocialPattern");
}
}
/// <summary>
/// 老虎
/// </summary>
class Tiger : IHabit
{
private string food = "Tiger Food";
public void CatchFood()
{
Console.WriteLine("From Tiger.CatchFood");
}
public string Food
{
get
{
return food;
}
set
{
food = value;
}
}
public void AreaDistribution()
{
Console.WriteLine("From Tiger AreaDistribution");
}
public void SleepPattern()
{
Console.WriteLine("From Tiger SleepPattern");
}
public void SocialPattern()
{
Console.WriteLine("From Tiger SocialPattern");
}
}
/// <summary>
/// 狮子
/// </summary>
class Lion : IHabit
{
private string food = "Lion Food";
public void CatchFood()
{
Console.WriteLine("From Lion.CatchFood");
}
public string Food
{
get
{
return food;
}
set
{
food = value;
}
}
public void AreaDistribution()
{
Console.WriteLine("From Lion AreaDistribution");
}
public void SleepPattern()
{
Console.WriteLine("From Lion SleepPattern");
}
public void SocialPattern()
{
Console.WriteLine("From Lion SocialPattern");
}
}
/// <summary>
/// 大象,显式调用借口
/// </summary>
class Elephant : IHabit
{
private string food = "Elephant Food";
void IHabit.CatchFood()
{
Console.WriteLine("From Elephant.CatchFood");
}
string IHabit.Food
{
get
{
return food;
}
set
{
food = value;
}
}
void IHabit.AreaDistribution()
{
Console.WriteLine("From Elephant AreaDistribution");
}
void IHabit.SleepPattern()
{
Console.WriteLine("From Elephant SleepPattern");
}
void IHabit.SocialPattern()
{
Console.WriteLine("From Elephant SocialPattern");
}
}
class Animal
{
static void Main(string[] args)
{
Cat cat = new Cat();
Tiger tiger = new Tiger();
Lion lion = new Lion();
Elephant elephant = new Elephant();
IHabit ielephant = (IHabit)elephant;
cat.CatchFood();
Console.WriteLine("Food:{0}", cat.Food);
cat.AreaDistribution();
cat.SleepPattern();
cat.SocialPattern();
Console.WriteLine();
tiger.CatchFood();
Console.WriteLine("Food:{0}", tiger.Food);
tiger.AreaDistribution();
tiger.SleepPattern();
tiger.SocialPattern();
Console.WriteLine();
lion.CatchFood();
Console.WriteLine("Food:{0}", lion.Food);
lion.AreaDistribution();
lion.SleepPattern();
lion.SocialPattern();
Console.WriteLine();
ielephant.CatchFood();
Console.WriteLine("Food:{0}", ielephant.Food);
ielephant.AreaDistribution();
ielephant.SleepPattern();
ielephant.SocialPattern();
}
}
}