- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
.NET面向对象编程
.NET 程序设计 第3章 面向对象编程 主要内容 类的声明与实现 继承机制的实现 多态机制的实现 接口的声明与实现 委托的声明与实现 3.1 类的声明 类是C#程序中的基本结构单位,类的声明形式为: [修饰][可见性]class 类名[:基类[,接口序列]] { [字段声明]; [构造函数]; [属性]; [方法]; [事件]; } 3.1 类的声明 类是C#程序中的基本结构单位,类的声明形式为: [修饰][可见性]class 类名[:基类[,接口序列]] { [字段声明]; [构造函数]; [属性]; [方法]; [事件]; } 3.1 类的声明 类是C#程序中的基本结构单位,类的声明形式为: [修饰][可见性]class 类名[:基类[,接口序列]] { [字段声明]; [构造函数]; [属性]; [方法]; [事件]; } 3.2 类的成员——Field字段 字段是类中封装的数据成员,字段类型可以是 实例字段 静态字段 常量 只读字段。 声明字段的一般形式为: [可见性][修饰]字段类型 字段名[=初值]; 静态字段以static修饰,独立于对象,必须通过类进行访问,且为所有实例对象所共享。 常量字段以const修饰,只能在声明中初始化。 只读字段以readonly修饰,只能在声明或构造函数中赋值。 3.2 类的成员——Field字段 程序示例: public class CField { public const int c=100; //常量字段 private int x; //实例字段 protected readonly string s; //只读字段 public static int stc; //静态字段 } 3.2 类的成员——property属性 属性是类中的一种成员,主要作用是对数据成员进行访问控制。 程序举例 3.2 类的成员——property属性 注意事项 属性不能被声明为void类型 属性不带有参数列表,写入的值通过value访问 属性可以仅有set或get语句,用以实现只写或只读属性 3.2类的成员——method方法 声明基本形式 [修饰][可见性]返回值类型 方法名(参数表) { 方法体; } 修饰 static:静态方法,通过类调用。 abstract:抽象方法,不提供具体实现,必须在派生类中被改写(override)。 virtual:虚方法,可以在派生类中被改写 注意 无论方法有无参数,参数表的括号必须有。 3.2类的成员——method方法 C#中方法的形参分为四类,分别为 传值参数 默认形式,传递实参副本,无需关键字声明。 传引用参数 参数类型前以ref声明,传实参地址。 输出参数 参数类型前以out声明,传实参地址,在方法体中不能直接使用未赋值的输出参数否则报错,仅用于返回处理结果。 变长(数组)参数 形参类型前以params修饰,不能再带有其他修饰,且必须位于参数列表最后,实参只能是一维数组。 3.2类的成员——method方法 程序示例 3.2类的成员——构造方法 构造方法是类中用以创建对象实例的方法,通常在构造函数中进行成员的初始化工作。 构造方法是静态方法,但不用static修饰。方法必须与类名相同,且一般可见性为public。 构造函数不带有任何返回值。 每个类至少有一个默认(无参)构造函数,可以在类中重载(overload)多个构造函数,但方法签名不能相同。 3.3 继承机制的实现 继承是指派生类可以从其基类中自动得到除构造函数和析构函数以外的所有数据定义和方法成员。 程序示例 3.3 继承机制的实现 注意事项 派生类并不能直接使用基类中可见性为private的成员. 若派生类需要访问基类成员,可以使用关键字base指明访问的是基类对象。 3.3 继承机制的实现 密封类是不能被其他类继承的类,在继承树中处于“叶子”端。密封类前通过关键字sealed修饰。 举例 3.4 多态机制的实现 多态是使不同对象针对同一操作(方法)表现出各自不同的行为的机制。 C#中的多态机制在类范围内可以通过如下方式实现 重定义(new)基类方法 改写(override)基类虚(virtual)方法 改写(override)抽象(abstract)基类的抽象方法 3.4 多态机制的实现——重定义 重定义基类方法 在派生类中用new关键字重新声明并实现基类中的同名方法。即在派生类中以完全不同的方法取代基类中的旧方法。 3.4 多态机制的实现——改写虚
文档评论(0)