第5章面向对象编程.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章面向对象编程

对象 5.1.1 类 类是一类对象的抽象,用于在程序中模拟现实生活的事物 对象是现实中的事物 如何描述现实的事物:特征和动作,对应类中的数据成员和方法 类修饰符 5.1.2 成员变量 访问修饰符 访问修饰符 注意 C/C++不允许使用未经初始化的变量。 C#:静态字段在类的装载时初始化; 非静态字段在类的实例创建时进行初始化。 字段访问 用方法访问字段 5.1.3属性 属性 属性 属性 定义和调用属性 5.2 方法 声明方法 调用方法 5 方法重载 方法重载2 方法重载 5.3构造函数和析构函数 构造函数是类的一种特殊方法,一般用于对类的数据成员进行初始化。每次创建类的实例都会调用它。 参数化构造函数 析构函数 是用于执行清除操作的特殊方法 一个类只能有一个析构函数 析构函数不能被继承 析构函数不能被显示或手动调用,只能由系统的垃圾回收器自动调用 事件 定义事件 订阅事件 通知订阅对象 示例 抢答者 宣布人 抢答者 “请听题~” 集中注意力聆听 其他人 事件源 事件的发布者 事件的订阅人 未订阅该事件 定义事件 为对象订阅该事件 将发生的事件通知给订阅人 [访问修饰符] event 委托名 事件名; 语法 public delegate void delegateMe(); private event delegateMe eventMe; eventMe += new delegateMe(objA.Method); eventMe += new delegateMe(objB.Method); if(condition) { eventMe(); } 调用订阅特定事件的对象的所有委托 演示:示例 4 class TestEvents { [STAThread] static void Main(string[] args) { // 委托的对象 Delegate objDelegate = new Delegate(); // ClassA 的对象 ClassA objClassA = new ClassA(); // ClassB 的对象 ClassB objClassB = new ClassB(); // 订阅该事件 objDelegate.NotifyEveryOne += new Delegate.MeDelegate(objClassA.DispMethod); objDelegate.NotifyEveryOne += new Delegate.MeDelegate(objClassB.DispMethod); objDelegate.Notify(); } } class Delegate { // 定义委托 public delegate void MeDelegate(); // 定义事件 public event MeDelegate NotifyEveryOne; public void Notify() { // 如果事件不为 null if(NotifyEveryOne != null) { Console.WriteLine(触发事件:); // 触发事件 NotifyEveryOne(); } } } class ClassA { public void DispMethod() { Console.WriteLine(“Class A 已接到 NotifyEveryOne 事件的通知!); } } // 第二个类 class ClassB { public void DispMethod() { Console.WriteLine(“Class B 已接到 NotifyEveryOne 事件的通知! ); } } 0 我们知道类的一个特性就是封装性,所以类的成员数据对设置成私有的.作为私有的成员要想被访问就一定要用共有的方法… 除此之外还有另一中访问私有成员数据的方法,就是SET/GET访问器(存取器/变异器) 属性是一种内部看起来像函数,但外部的行为看起来像字段的函数成员。 使用属性的优势是,它们既可以让你拥有访问公有的字段的简单轻松,同时它们又允许类通过set和get存取器控制对属性的访问 静态属性是指引用静态数据的属性, 因为属性名和私有数据成员的名往往是相对应的,所以为了区分微软建议,属性名采用

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档