点滴积累,融会贯通

-----喜欢一切有兴趣的东西

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
 

代理:代理的本质是对另一个类中的函数的引用,可以分排和使用函数而无需知道它来自哪个类,只要函数满足同样的接口就可以

 

C#中任何事物都看作对象。

 

受管语言被编译成中间低层语言,使用通用语言运时(CLR)执行编译后的代码,或是进一步编译这些代码

受管语言都是垃圾自动收集的。垃圾自动收集语言负责释放不用的内存,当变量,数组或对象被检测不再被引用,就把相应的内存空间释放回系统

 

每个控件基本上都被声明为一个变量,并被添加到一个容器里。

 

C#中变量和类方法可以声明为:

Public ;可以被其他类访问

Private:没有声明默认形式,只能在类内部访问

Protected:在类和其派生类里访问

通常将所有的类变量声明为私有的,并且编写getxxx,setxxx访问函数来设置和获取数据。 实现封装原理,尽量不要让类中的变量在类外直接被访问。

 

若干个名字相同的方法,只要这些方法有不同的调用参数,实现重载多态

 

Virtual override

如果基类中有一个方法,而想在派生类中覆盖它,应该把基类中的方法声明为Virtual,它的含义是,让派生类里具有同样名字和参数标识的方法被调用,而不是调用基类中的方法。在派生类中必须用override关键字声明该方法。

基类

派生类

是否出错

Virtual

override

否,执行派生类的

Virtual

override

出错

Virtual

override

出错

Virtual

override

否,警告,执行派生类

 

当不能把基类方法声明为Virtual时,另外一种取代基类中方法的方式是在派生类中声明方法时使用NEW关键字,这样可以有效的隐藏基类中同一名称的方法。

例如:public new void xxxx(){}

 

Abstract 抽象类

1 抽象方法必须在抽象类里

2 抽象类里的方法不需要都是抽象方法,但至少要有一个抽象方法。

3 抽象类不可以被实例化,只能产生派生类。

4 一个抽象类的方法都是抽象方法,则该类不能被继承,也不能继承其他类层次结构。

5 接口的派生类必须实现接口的所有方法

posted on 2007-08-07 10:56  小寒  阅读(847)  评论(2编辑  收藏  举报