c#第三章概述.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文档。上传文档
查看更多
3.8.2 事件 事件是对象发送的消息,以发信号通知操作的发生。操作可能是由用户交互(例如鼠标单击)引起的,也可能是由某些其他的程序逻辑触发的。引发(触发)事件的对象叫做事件产生对象。捕获事件并对其作出响应的对象叫做事件接收对象。两者之间存在一个媒介,这个媒介就是委托。可以通过使用委托把事件与处理这些事件的方法进行绑定。委托允许其它类向指定类注册处理事件的方法(事件处理程序)。 3.8.3 案例3-8 挡位模拟 本案例演示如何通过委托来定义事件。 3.4.3 案例3-3 演示方法的参数类型 本案例演示方法的五种参数。 3.4.4 方法重载 方法重载(overload)是指一个类有多个方法,名字相同,但方法的参数列表不一样,这里的不一样可能是个数或类型不一样。重载和方法的返回值无关,返回值可以相同,也可以不同。在同一个类中可以定义多个同名方法。 3.5 实例成员和类成员 实例成员属于类的实例,只能通过对象来访问。类成员属于类,通过类名直接来访问。加static修饰的成员为静态成员,也称为类成员,否则为实例成员。类成员包含类变量和类方法。 3.5.1 实例变量和类变量 前面知识中所提的Circle类中的变量radius,是一个实例变量,它属于类中的每一个对象实例,不能被同一个类的不同对象共享。 例如,对于下面两条语句创建的两个对象: Circle c1 = new Circle(); Circle c2 = new Circle(5.0); c1中的radius独立于c2中的radius,存储在不同的内存空间。c1中的radius的变化不会影响c2的radius,反之也然。 如果想让一个类的所有实例共享数据,可使用为类变量。这种变量是使用static修饰符的数据成员,也称为静态变量,而没有使用static修饰符的数据成员是实例变量。例如,下面的语句定义了一个类变量: static int numOfCircle; 3.5.2 this关键字 类中的所有实例方法都可以访问实例变量,所以它们称为全局变量。而在方法内说明的变量只能在该方法内部使用,称为局部变量。 局部变量与全局变量同名时,局部变量优先,同名的全局变量被隐藏。用关键字this可以访问隐藏的实例变量。this是实例(对象)的引用。例如,圆类构造函数中就使用了this: public Circle(double radius) { this.radius = radius; //等号左边是实例变量,右边是局部变量 } 3.5.3 实例方法和类方法 没有使用static修饰符的方法为实例方法,这种方法必须通过对象来调用。在案例3-2中,Person类中的方法都是实例方法。通过不同的对象调用实例方法,实例方法操作的数据是不同的。 例如,对于下面两条语句创建的两个对象: Person p1 = new Person(张军, 男, DateTime.Parse(1989-6-6)); Person p2 = new Person(王红, 女, DateTime.Parse(1989-11-12)); 3.5.4 案例3-4 银行账户 模拟一个银行账户类,假设用户账户由系统自动产生,第一个顾客的账户为000001,第二个顾客的账户为000002,第三个顾客的账户为000003……。 3.6 继承与多态 继承是面向对象程序设计的一个重要特征,它允许在现有类的基础上创建新类,新类从现有类中继承类的成员,而且可以重新定义或加进新的成员,从而形成类的层次或等级。一般称被继承的类为基类、父类或超类,而继承后产生的新类为派生类或子类。?? 3.6.1派生类的声明 派生类的声明格式为: 类修饰符 class 派生类类名: 基类类名 { 类体 } 2.派生类对父类成员的继承 父类中用public修饰的公有成员,派生类内部可以直接使用。父类中用private修饰的私有成员,派生类内部不能直接使用,但可以通过公有方法或属性间接使用。父类中用protected修饰的保护成员,派生类内部也可以直接使用。与public不同的是,用protected修饰的成员不能被外界访问。 3.base关键字 关键字this指类的实例自己,而关键字base指父类。关键字base的作用有两个: (1)调用父类的构造函数 在C#中,当创建派生类对象时,系统会首先执行父类的构造函数,然后再执行派生类的构造函数。在类层次结构中,父类总是首先被实例化的。如果想要调用父类的非缺省构造函数,那么必须使用base关键字。 (2)调用父类的方法 可通过base调用父类的方法。例如,在Cylinder类增加一个GetArea()方法,用于求圆柱的表面积,Cylinder类将使用自己的GetArea()方法。这种情

文档评论(0)

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

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

1亿VIP精品文档

相关文档