- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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 ] // 索引器声明 {
您可能关注的文档
- [工学]第六章样本及抽样分布.ppt
- [工学]第六章时变电磁场.ppt
- [工学]第六章热化学和热力学第一定律.ppt
- [工学]第六章_VHDL设计进阶.ppt
- [工学]第六章农产品加工机器人.ppt
- [工学]第六章检索策略的制定与优化.ppt
- [工学]第六章统计特征值.ppt
- [工学]第六讲 matlab工具箱.ppt
- [工学]第六章过程控制.ppt
- [工学]第六讲 线性方程组之迭代求解.ppt
- 企业数据资产价值评估与数据治理体系建设报告.docx
- 农村集体经营性建设用地入市与农村环境保护的协调策略报告.docx
- 跨境电商独立站AI技术赋能流量变现策略研究.docx
- 基于大数据的快消品库存管理精细化操作报告.docx
- 小学数学思维训练方法与评价体系构建教学研究课题报告.docx
- 高中化学实验数据分析人工智能辅助工具的用户需求与教学策略教学研究课题报告.docx
- 绿色金融支持“双碳”目标城市可持续发展路径研究.docx
- 初中数学课堂高阶思维培养与学生的数学素养培养研究教学研究课题报告.docx
- 《手术室护理中快速康复外科理念对手术患者术后生理和心理康复的协同影响研究》教学研究课题报告.docx
- 《基层医疗机构急性心肌梗死早期诊断及治疗中的基层医疗信息化与临床实践融合研究》教学研究课题报告.docx
文档评论(0)