今天。。。。

刚刚干完活,接着练习C#。
刚才看了一篇文章 [不要在技术海洋里沉沦],在想想那天与牛人吃饭的时候,牛人说的话。现在真的是这样,技术N多,基础最重要吧。
和作者观点不一样的是,作者没有提到作软件,尤其是对日软件,外语的重要性。但是,现在是真的学不进去日语。但日语的重要性我已经意识到了。
等以后项目不忙了,我一定会报班去学习。
书归正传。
接口和抽象类
接口的概念
语法:
[attributer] [modifiers] interface identifier [:baselist]
{
    interface body
}
[:]
概念
接口是包含一组虚方法的抽象类型。其中每一个方法都有函数名,返回值,参数列表。
接口方法里不能含有任何实现。
CLR允许接口可以包括事件,属性,静态方法,静态字段,静态构造函数和常数。
但是C#中的接口中不能定义静态成员。
一个类中可以实现多个接口。
当一个类中继承了一个接口,需要实现这个接口定义的所有方法,还要实现该接口从其它接口中继承下来的所有方法。
// 注  其实接口我也没有用过,因为当我进入项目的时候,项目的框架已经搭建出来。但是,在以后的开发的时候,为了解决一个数据绑定的数据量过大,致使UI界面黑屏问题,用了[观察者模式],让数据一点点加上。解决了此问题的过程中,用上了接口,当时给我的感觉是,如果当时让别人调用自己的接口而不是公有函数会省很多事。

定义接口
public inter IDiscPreviewUI
{
   void  UpDataFromDiscPreview(bool FromDiscPreviewUI) ;
}

public DiscPreviewUI : IDiscPreviewUI
{
    void  UpDataFromDiscPreview(bool FromDiscPreviewUI)
    {
        if(FromDiscPreviewUI)
        {
            // updata  UI
        }
        else
        {
            // error
        }
    }
}
为什么要有接口 ?
主要原因是它们是一种有效的契约。类有一些成员,不必考虑把成员组合在一起的问题,类只包含一个拥有各种方法,字段和属性的列表,但为了能以某种方式使用的类,必须知道类能执行那些功能。具体操作时声明执行一个或多个接口的类,类执行接口的方式是从这个接口,再提供这个接口中定义的所有成  员的执行方式。
// 对于这句话的理解。。 在我第一个项目中我负责UI显示,数据层是由另一个人负责的。当时我不懂什么叫接口,只想着让他给我提供公有方法访问。当时他把它编写的代码所完成的功能都写到一个接口中。我连看都没去看过,事实上我根本就不知道,而且当时他也不告诉我。可想而知我当时的尴尬情景。所以当时我在网上找了很多接口的例子来学习。以后千万不能犯类似的错误。
// 所以以后我编写代码,在类中应该不会有公有函数,和外界的交互都用接口来交互。这样你要是修改代码可以修改自己类中的而且不会影响到其它人调用你的东西。
书上还有例子也比较好。
C# 中的 Foreach循环
实际上,如果类可以像集合那样操作,就可以使用Foreach迭代类实例。.net运行时如何说明类是否表示一个集合?它会查询该实例,看着它是否执行
System.Collections.IEnumerable接口。如果是,类就使用这个接口上的方法迭代集合中的成员,否则,Foreach就会引发一个异常。
// 这公司考编码规范的时候 考了,结果没写上 。。。 哎

posted @ 2007-10-30 16:36  likai进步!!!!  阅读(178)  评论(0编辑  收藏  举报