第3章面向对象编程基础讲述.pptVIP

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

3.3.2 方法的参数 【例3.11】将【例3.9】程序中Sort方法的值参数传递方式改成引用参数传递,这样在方法Sort中对参数x、y、z按从小到大的排序影响了调用它的实参a、b、c。 运行结果如图3.15所示。 3.3.2 方法的参数 3. 输出参数 【例3.12】在下面程序中,求一个数组元素中的最大值、最小值以及平均值。 运行结果如图3.16所示。 3.3.2 方法的参数 【例3.13】下面程序定义了两个方法,一个是Swap1,一个是Swap2,它们都有两个引用对象作参数,但Swap2的参数加了ref修饰,调用这两个方法产生的结果是不一样的。 运行结果如图3.17所示。 3.3.2 方法的参数 4. 参数数组 【例3.14】下面程序演示了Myclass类中的方法MaxMin有一个参数数组类型的参数,那么在调用这个方法是所具有的灵活性。 运行结果如图3.18所示。 3.3.3 静态方法与实例方法 【例3.15】下面是一个商品销售的简单管理程序。每一种商品对象要存储的是商品总数及商品的单价。每销售一件商品要计算销售额和库存。cashRegister类将销售总额定义成静态变量cashSum,那么访问cashSum的方法productCost也就定义成静态方法,而makeSale方法是计算销售额及库存的,所以定义成实例方法。 运行结果如图3.19所示。 3.3.4 方法的重载与覆盖 【例3.16】下面程序定义的Myclass类中含有四个名为max的方法,但它们或者参数个数不同,或者参数类型不同,在Main中调用该方法时编译器会根据参数的个数和类型确定调用那个max方法。 运行结果如图3.20所示。 3.3.4 方法的重载与覆盖 【例3.17】下面程序定义了一个基类Shape,含有字段域width和height分别表示形状的宽和高,并定义了一个area方法求形状的面积。它的派生类Triangle和Trapezia都用关键字new修饰了area方法。 运行结果如图3.21所示。 3.3.4 方法的重载与覆盖 【例3.18】将例3.17改写,在Shape类中方法area用virtual修饰,而派生类Triangle和Trapezia用关键字override修饰area方法,这样就可以在程序运行时决定调用哪个类的area方法。 运行结果如图3.22所示。 3.4 属性 【例3.19】下面程序中的TextBox类提供公共方法set_text和get_text来访问私有数据text。 运行结果如图3.23所示。 3.4 属性 但C#提供了属性(property)这个更好的方法,把字段域和访问它们的方法相结合。对类的用户而言,属性值的读写与字段域语法相同,对编译器来说,属性值的读写是通过类中封装的特别方法get访问器和set访问器实现的。 属性的声明语法形式: [属性集信息] opt [属性修饰符] opt 类型 成员名 { 访问器声明 } 3.4 属性 【例3.20】改写例3.19,对TextBox类的text、fontname、fontsize、multiline域提供属性方式的读写访问。 运行结果如图3.24所示。 3.4 属性 【例3.21】下面程序中定义的Label类设置了Width和Heigh属性用于计算两点之间的宽和高。 运行结果如图3.25所示。 第3章 面向对象编程基础 3.1 面向对象概念 3.2 类 3.3 方法 3.4 属性 3.1 面向对象概念 3.1.1 对象、类、实例化 类与对象的关系如图3.1所示。 3.1.2 面向对象程序设计语言的三大原则 1. 封装 所谓“封装”,就是用一个框架把数据和代码组合在一起,形成一个对象。 2. 继承 从这个已有的类可以通过继承的方法派生出新的子类,卡车、轿车、客车等,它们都是汽车类的更具体的类,每个具体的类还可增加自己一些特有的东西。如图3.2所示,更一般地表示如图3.3所示。 3.1.2 面向对象程序设计语言的三大原则 如果一个类有两个或两个以上直接基类,这样的继承结构被称为多重继承或多继承。在现实世界中这种模型屡见不鲜,如:一些组合功能的产品像沙发床,它既有沙发的功能,又有床的功能,沙发床应允许同时继承沙发和床的特征。如图3.4所示,更一般地表示如图3.5所示 3.1.2 面向对象程序设计语言的三大原则 接口可以包含方法、属性、事件和索引器。一个典型的接口就是一个方法声明的列表,接口本身不提供它所定义的成员的实现。所以接口不能被实例化,一个实现接口的类再以适当的方式定义接口中声明的方法。如图3.6所示。 3.1.2 面向对象程序设计语言的三大原则 3. 多态性 多态性就其字面上的意思是:多种形式或多种形态。在面向对象编程中,多态是

文档评论(0)

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

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

1亿VIP精品文档

相关文档