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);//因子类重写了父类方法,将会调用子类重写的方法。 }
}
}这个是自己写出来的,添加了注释,这里面的概念有接口、继承、多态、属性。我觉得我自己明白了,但自知人外有人,请问这些概念方面的东西还有其他可以灵活变通的地方吗。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货