using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication26
{
class Program
{
static void Main(string[] args)
{
animal a = new animal();
a.name = "animal";
a.say();
cat c = new cat();
c.name = "cat";
c.say();
dog d = new dog();
d.name = "dog";
d.say();
sheep s = new sheep();
s.name = "sheep";
s.say();
animal a1 = new cat();
a1.say();
animal a2 = new dog();
a2.say();
animal a3 = new sheep();
a3.say();
}
}
class animal
{
public string name { get; set;}
public virtual void say()
{
Console.WriteLine("animal say");
}
}
class cat : animal
{
public override void say()
{
Console.WriteLine("cat say");
}
}
class dog : animal
{
public new void say()
{
Console.WriteLine("dog say");
}
}
class sheep : animal
{
}
}