黑马程序员技术交流社区

标题: 把类转成接口有什么用 [打印本页]

作者: 李阳Leo    时间: 2012-9-28 20:07
标题: 把类转成接口有什么用
看ASP.NET生命周期视频中,反编译程序集后有这样一段代码
  1. private HtmlForm_BuildControlform1(){
  2.     HtmlForm form = new HtmlForm();
  3.     base.form1 = form;
  4.     form.ID = "form1";
  5.     HtmlInputText text = this.__BuildControltxtName();
  6.     IParserAccessor accessor = form;
  7.     accessor.AddParsedSubObject(text);
  8.     form.SetRenderMethodDelegate(new RenderMethod(this.__Renderform1));
  9.     return form;
  10. }
复制代码
这段代码讲的是控件树的创建
其中这一段
  1. IParserAccessor accessor = form;
  2. accessor.AddParsedSubObject(text);
  3. form.SetRenderMethodDelegate(new RenderMethod(this.__Renderform1));
  4. return form;
复制代码
它将HtmlForm这个类的对象转成了IParserAccessor接口,然后调用了这个接口中的AddParsedSubObject方法,最后返回了HtmlForm这个类的对象form

请问,把一个类转成一个接口,有什么用啊?

看这段代码的意思好像是两个指针指向同一块内存空间,其中任何一个对它的修改都可以在另一个上反应出来?

还有就是,为什么要把它转成接口?如果这个类实现了IParserAccessor接口的话,它不是也应该有接口中的方法吗?直接用该类的对象调用接口中的方法不行吗?



--

作者: 许庭洲    时间: 2012-9-29 08:23
通过把一个类转成一个接口就能将该类根据服务器控件和Html脚本的定义,把服务器控件和作为Literal控件的Html脚本插入到本Page的控件树上。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2