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

2007年3月20日

摘要: 可以强制派生类覆盖基类的方法:将基类的方法声明为抽象的.为此,我们需要使用关键字abstract.抽象方法没有方法体,有派生类来提供.当方法被声明为抽象的时,其所属的类也必须被声明为抽象的.namespace ConsoleApplication1{ abstract class Person { protected string firstName; protected string lastName; public Person() { } public Person(string fn, string In) { firstName = fn; lastName = In; } pub. 阅读全文

posted @ 2007-03-20 14:52 小飞龙(Jack) 阅读(167) 评论(0) 推荐(0) 编辑

摘要: 要在基类中将方法声明为虚拟的,可以在该方法的定义中使用关键子virtual.要覆盖虚拟方法,必须在派生类中指出,这是通过在声明新方法是使用关键字override实现的. 阅读全文

posted @ 2007-03-20 13:43 小飞龙(Jack) 阅读(261) 评论(0) 推荐(0) 编辑

摘要: 继承让我们能够正在已有类的基础上创建新类.新类可以使用原有类的所有特征,可以覆盖已有的特性,扩展已有的特性或添加自己的特征.继承的一些术语:基类:原有的类;父类:同基类的含义相同;派生类:通过继承基类创建的新类;子类:含义与派生类相同;单继承:c#中只支持单继承;public Employee(string fn, string In) : base(fn, In) { } 冒号后面的关键字base,可以以这种方式使用关键字base来调用基类的构造函数. /*例子using System;using System.Collections.Generic;using System.Text;na 阅读全文

posted @ 2007-03-20 11:11 小飞龙(Jack) 阅读(124) 评论(0) 推荐(0) 编辑

摘要: 接口和类的比较:接口类似于纯粹的抽象类1)(也是最主要的),接口不提供任何实现代码,这些代码是由实现接口提供的.2)接口不同于类,其所有的成员都被视为公有的.如果试图为接口的成员声明一个不同的作用域限定符将出错.3)接口只包含方法,属性,事件和索引器(indexer),而不包含数据成员,构造函数和析够函数,也不包含静态成员.使用接口:类只能从另一个类派生而来,但类可以实现多个接口,另外,结构不能继承另一个结构或方法,但可以实现接口.C#中允许实现多个接口提供了多重继承的功能和好处.为何使用接口:可以将接口作为一种给结构提供继承特性的途径.另外可以在一个类中实现多个接口,从而获得抽象类无法获得的 阅读全文

posted @ 2007-03-20 09:35 小飞龙(Jack) 阅读(150) 评论(0) 推荐(0) 编辑