摘要: 隐藏成员与虚写成员派生类若要更改基类的数据和行为,我们通常采用两种方法:一是隐藏基类成员;二是重写虚拟基类成员。隐藏基类成员(字段可以是隐藏的),在派生类中使用new关键字,被隐藏的基成员是可以通过派生类实例强制转换为基实例访问的!重写虚拟的基成员(字段不能定义为虚拟的),被派生类型重写的虚拟成员,无论是本身类型实例访问,还是强制转换为基实例访问,则被调用的是重写的虚成员!因为在调用虚成员时不考虑... 阅读全文
posted @ 2008-07-13 22:54 步子 阅读(204) 评论(0) 推荐(0)
摘要: 委托是面向对象的,封装方法,封装对象实例.定义委托实际上是定义一个类型的委托,不是一个具体的实例.委托类型指定它代表的方法的返回类型和参数列表.委托代表具有相同参数列表和返回类型的任何方法. 声明方式与方法的声明相似. 声明中必须包括委托表示的方法的返回类型和参数列表.委托的调用时通过输入委托实例的名称和要传递给委托所表示的方法的参数.多播委托:多播委托引用多个方法的委托,它连续调用每个方法.把委... 阅读全文
posted @ 2008-07-03 22:10 步子 阅读(298) 评论(0) 推荐(0)
摘要: 属性内部像函数,外部似字段.索引器是一类特殊的属性,通过它可以像数组一样的处理对象!索引器通常在代表元素集合的类中定义. 类似于属性,属性名是this,意思是回引类的当前实例,参数列表包含在方括号而非括号之内. 阅读全文
posted @ 2008-07-03 22:01 步子 阅读(199) 评论(0) 推荐(0)
摘要: 构造函数是类中特殊的方法,多用于初始化实例的数据成员,在实例化new时被自动调用.函数名与类名总是相同,无返回值;构造函数是可以重载的,可以任意多;在同一个类中,不同的构造函数之间是可以通过this关键字相互调用的!如果没有定义构造函数,编译器会提供一个默认的无参数的构造函数!构造函数的调用,遵循层次结构的调用,由上往下(继承关系==>>基类 派生类)初始化数据. 阅读全文
posted @ 2008-07-03 21:56 步子 阅读(371) 评论(0) 推荐(0)
摘要: 重载发生在同一个类中: 方法名必须相同;参数列表必须不相同;返回值类型可以不相同.覆写派生类对于基类的虚方法或抽象方法而言的:Ø相同的方法名称;相同的参数列表;相同的返回类型. 阅读全文
posted @ 2008-07-03 20:09 步子 阅读(141) 评论(0) 推荐(0)
摘要: 相似点:一旦赋值就不可改变.常量字段在声明的时候被始化,并是可计算的.(1)只读字段可以在声明处,构造函数或程序运行时初始化;常量字段必须在声明时初始化,字段的值在编译时必须是可计算的。(2)只读字段可以是静态的,默认不是静态;常量字段总是隐式静态的。(3)只读字段可以是任何值类型或引用类型;常量字段只能是内建的值类型,字符串或枚举值。 阅读全文
posted @ 2008-07-02 22:00 步子 阅读(251) 评论(0) 推荐(0)
摘要: 抽象类型可以拥有一般类型成员,但必有一个或多个函数成员是抽象的;有一个成员是抽象的,该必须声明为抽象类型!抽象类型可以继承于抽象类型;抽象类型不能被实例化,它的实现由派生类型实例化对象!抽象类型成员不能被派生类型隐藏,可以被重写,并必须实现其成员! 阅读全文
posted @ 2008-07-02 20:57 步子 阅读(189) 评论(0) 推荐(0)
摘要: 静态构造函数必须是无参数的;静态类是封闭性的,不支持继承;类的继承,静态成员也会被继承下来;实例对象访问实例成员,类型名称访问静态成员(派生类型访问基类静态成员).静态构造函数可以与实例构造函数(无参数的)同时并存,不会发生任何错误.静态构造函数由CLR运行,我们无法掌控.静态成员由类型名访问! ,不能使用Virtual ,protected 修饰符. 静态成员不属于任何对象.需要全局变量或代码的... 阅读全文
posted @ 2008-07-02 20:39 步子 阅读(314) 评论(0) 推荐(0)