本站首页    管理页面    写新日志    退出


 

 

 


最新日志

练车
今天是2011年07月02号
温馨
CInternetSession 类
CHttpFile实现Get/Post
在MFC中加一个控制台DOS界面
strtol 函数
outputParam
有关CTime和ColeDateTime
variant_t ,_bstr_t 与

 


 

最近的评论

回复:CHttpFile实现Get/Po
回复:好久没有来了
回复:参数自整定的模糊PID
回复:电子设计大赛自由命题可参考的题目
回复:数字万用表使用方法
回复:公交车上巨搞笑的一幕
回复:电子设计大赛自由命题可参考的题目
回复:电子设计大赛自由命题可参考的题目
回复:电子设计大赛自由命题可参考的题目
回复:暑假回来

 


 

连接




    

接口的再次总结
sccwqiang 发表于 2008/3/19 23:21:06

   这里我用了好几个关于接口的特殊例子,虽然有的可能真的特殊,不过也不例外,有时会碰到,有了这些可能(我觉得)将有很大帮助的. using System;interface Itest{ void f();}abstract class A:Itest{ public void f() {  Console.WriteLine("This is parent:"); }}class B:A{ public new void f() {  Console.WriteLine("This is child:"); }}class test{ static void Main() {  A a=new B();  a.f();  Console.ReadKey(); }}此处抽象类也被实例化了,其实如果是一个接口都一样可以,被这样实例化.////////////////////////////////////using System;interface Itest{ void f();} class A:Itest{ void Itest.f() {  Console.WriteLine("This is parent:"); }}class B:A{ public  void f() {  Console.WriteLine("This is child:"); }}class test{ static void Main() {  A a=new B();  a.f();  Console.ReadKey(); }}//////////f()A中是不可见的,所以A a=new B();  a.f();这样是编译会报错/////////////////////////////////////// using System;interface Itest{ void f();} class A:Itest{ void Itest.f() {  Console.WriteLine("This is parent:"); } public  void f() {  Console.WriteLine("和平共处五项原则"); }}class B:A{ public  new void f() {  Console.WriteLine("This is child:"); }}class test{ static void Main() {  B a=new B();  ((Itest)a).f();  Console.ReadKey(); }}//////////This is parent.证明调用的是A中显示实现的接口成员,这证明了显示实现接口方法一样可以被继承.但其和能过一般的方法实现不相同 ///也就是说可以同时声明接口方法// (1)显示实现(2)当成类的一般成员定义(3)通过接口强制类转换,有且只能调用显示接口实现的方法using System;interface Itest{ void f();} class A:Itest{ void Itest.f() {  Console.WriteLine("This is parent:"); } public  void f() {  Console.WriteLine("和平共处五项原则"); }}class B:A,Itest{ public  new void f() {  Console.WriteLine("This is child:"); }}class test{ static void Main() {  B a=new B();  ((Itest)a).f();  Console.ReadKey();  A b=new A();     ((Itest)a).f();  Console.ReadKey(); }}//////////两者都是输出:This is chid: 证明:如果显示实现接口的方法,被再次重新定义(另一个由该接口派生的类中是一般的方法重写),原显示实现的方法被重写(应去掉),如果在用强制接口调用 /// //方法,将会得到现在的方法.总结:如果显示实现的接口方法,没有被再次定义(这里我验证过不管是在另一个由该接口派生的类中是一般的方法重写,或者也是显示方法实现都会使原方法无效),则在其所在的类族中是不可见的.它只能用强制接口方法进行调用. 500)this.width=500'> 500)this.width=500'>

阅读全文(1420) | 回复(1) | 编辑 | 精华


回复:接口的再次总结
开花的芝麻发表评论于2008/3/20 14:52:25

好习惯,学习笔记。

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除

» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)

 

 

 


站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.023 second(s), page refreshed 144775347 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号