using System;
using System.Collections.Generic;
using System.Text;namespace ConsoleApplication1
{
public interface ITest //接口
{
    string Name {get;set;} //定义属性
    void HelloWorld(string pamName);//定义方法
}    class Implement : ITest//实现类
{
    private string name="";
    public string Name //实现接口的属性
    {
    get{
        return name;
    }
    set {
        name = value;
    }
    }
        public virtual void HelloWorld(string name) //实现接口的方法
        {
            Console.WriteLine("我是"+name+",是被冤枉的!!");
        }
}
//使用它:
//比如在另一个类中调用    class Son:Implement //儿子继承父亲,这位父亲实现了一个接口
    {
        public override void HelloWorld(string name) {
            base.HelloWorld(name);
            Console.WriteLine("如果你是"+name+",就不要出声");
        }            
    }    class Test
    {
        static void Main()
        {
            ITest I = new Implement();//接口指向实现类(声明ITest接口的变量 指向实现它的类-对象a)
            I.Name = "陈冠希";
            I.HelloWorld(I.Name);
            //原文http://www.dotnetsky.net/netsave/ShowTopic-15504.html 结论:接口不能被实例化,只能指向实体类
            Implement i = new Son();//父类引用指向子类对象
            i.HelloWorld(I.Name);//因子类重写了父类方法,将会调用子类重写的方法。        }
    }
}这个是自己写出来的,添加了注释,这里面的概念有接口、继承、多态、属性。我觉得我自己明白了,但自知人外有人,请问这些概念方面的东西还有其他可以灵活变通的地方吗。