using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace OOPText
{
/// <summary>
/// 模拟狗和青蛙都是动物来用面像对象思想来设计
/// 都抽象出都是动物
/// 都具有动物的特征
/// </summary>
public class Animal
{
private int mood;
/// <summary>
/// 动物的这个属性是用来判断心情的,可以由他的子对象设置值
/// </summary>
public int Mood
{
get { return mood; }
set { mood = value; }
}
protected bool mammal = true; //是否是哺乳动物
static void Main()
{
Dog dog = new Dog();
dog.Mood = 1;
Console.WriteLine(dog.SayHi());
Frog frog = new Frog();
frog.Mood = 2;
Console.WriteLine(frog.SayHi());
Console.WriteLine(frog.IsLaysEgg(true));
Console.ReadLine();
}
}
/// <summary>
/// 用枚举来描述动物的心情
/// </summary>
public enum Seek
{
SCARED=1, //心情好
COMFORTED=2 //心情不好
}
public class Dog : Animal
{
public Dog()
{
//这个成员是继承Animal的
this.mammal = true; //是哺乳动物
}
public string SayHi()
{
switch(Mood)
{
//注意:这是枚举类型,还需要强转成int型,得到的是值
//这就是细节:切忌
case (int)Seek.SCARED:
return ("狗的心情不好,呜呜叫!!");
case (int)Seek.COMFORTED:
return ("狗的心情好,旺旺叫!!");
}
return ("狗的情绪一般,摇摇尾巴!!!");
}
}
public class Frog : Animal
{
public Frog()
{
this.mammal = false; //不是哺乳动物
}
public string SayHi()
{
switch(Mood)
{
case (int)Seek.SCARED:
return("青蛙的情趣不好,扑通跳到河里去了!!!");
case (int)Seek.COMFORTED:
return("青蛙的情绪好,呱呱叫!!!");
}
return ("青蛙的情绪一般,呱呱的叫!!!");
}
public string IsLaysEgg(bool isLay)
{
if (isLay)
{
return ("青蛙要产卵了");
}
else
{
return ("青蛙不产卵了!!!");
}
}
}
}