[工学]第四章 面向对象编程.pptVIP

  1. 1、本文档共43页,可阅读全部内容。
  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文档。上传文档
查看更多
[工学]第四章 面向对象编程

第四章 面向对象编程 (4、5章) 一、类的构建及使用 二、类的方法参数的传递 三、类的继承 四、其它 一、 类的构建及使用 1.1 类的构建 我们已经简单介绍过类的基本结构 P66 例4-1 该项目中包含2个类,注意前一个类没有main 方法。 如何在一个项目中添加多个类? 建立新项目后,可以新建类,也可将现有的类直接 添加进来。 注意:如果添加一个现有的类,代码中可能出现找不到某个类的问题,需要对引用的类添加引用。 关于构造函数(构造方法) 基本上和 Java 一样,一般声明为 public 如果没有自己声明的构造方法,系统会自动提供一个默认构造方法对类进行初始化。 构造方法与类同名,没有返回值。 支持重载,可以声明多个构造方法。 本书中将类的属性(或成员变量)称为“字段”,我们课中一般称为“成员变量”或“属性”。 成员变量的默认初始化:数值类型为 0;bool 类型为 false;引用类型为 null。 静态成员与实例成员 和 Java 类似,类的成员(属性、方法等)同样分为静态(类)成员与实例成员。 通过 static 关键字声明静态成员。 静态成员通过类名直接调用。 访问修饰符 C# 对成员的访问修饰符比 Java 多一些。 除了常见的 public、private 类成员修饰符,C# 还有static、const、readonly、protected,internal 、sealed 等类成员修饰符。 以下三个是最常用的: Public:所有类都可访问。 private(默认):只能本类访问,外部无法存取。 protected:本类或其派生类可访问 其它类成员修饰符 Internal :当前项目中都可以访问。 该访问权限一般用于基于组件的开发,可以使组件以私有方式工作,而该项目外的其它代码无法访问。 Protected internal :当前项目或项目中类的子类。 Partial:局部类型,类的定义和实现可分布在不同文件中。很少使用,目前不必了解。 sealed:用它修饰的类或方法不能被继承 static:修饰静态成员 const 与 readonly :声明常量,前面已讲过 由于 const 隐含是 static 的,必须声明时初始化。 1.2 方法及方法的重载 C# 中方法重载的概念和写法与 Java 中方法重载类似。 请注意重载和覆盖的区别 函数重载的好处是使完成相似任务的方法具有一致的外观,便于理解和复用 主要体现在参数列表上的差异 1.3 属性过程 get / set 先看看例 4-11 中的一段代码: public class MyClass { private int gread = 0; public int Gread { get { return gread ; } set { if (value = 0 value = 100) { gread = value ; //value是关键字,其值由编译器自动生成。} } } 其中定义了私有(private)属性 gread 由于是私有的,对其它类是不可见的 随后定义了公用属性过程 Gread (注意大小写的差别),它们规定了对属性值的处理方式。 属性过程也是类的属性 。 通过属性过程,提供了对上述私有属性的访问方法。 问题 ? 为什么这样处理? 一共有多少属性? 答案: 2个,1 个私有属性,1 个公用属性过程 属性过程的 get 与 set 两个“子过程”,是否必须成对出现? 是不是要为每一个属性都写个属性过程? 属性过程的使用 其使用与普通属性一样 ,可以通过对象名来调用 例如:对象名. Gread = 60 ; //写属性值,如果超出范围, 属性过程自动置 0 mygread = 对象名. Gread ; //读属性值 简单声明方式(自动实现属性) public int Age { get ; private set ; } //注意,此处 Age 是一个只读属性。 1.4 this 引用 指代当前对象,使用与 Java 类似 实际上我们调用任何对象的方法或属性,都指“当前对象”,也就是说都有一个隐含的 this,只是通常不必在代码中强调而已 只有当需明确指出:我要引用当前对象时,才使用 this 1.5 索引器 索引器用于封装内部集合或数组。 索引器在语法上方便了程序员将类、结构或接口作为数组进行访问。 要声明类或结构上的索引器,需要使用this 关键字。 例如: public int this [ int index ] // 索引器声明 {

文档评论(0)

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

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档