- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算机软件及应用]第6章 C中的面向对象编程技术
第6章 C#中的面向对象编程技术 本章要点 面向对象编程基本思想。 类与对象的概念,类的属性和方法。 面向对象的特性。 抽象类与接口。 技能目标 掌握面向对象的特点。 掌握如何将要解决的问题抽象为类。 学会利用面向对象的基本思想书写基本的类以解决实际问题。 掌握抽象类和接口的使用。 6.1 工作场景导入 我国每年有几百万辆的汽车销售量,购买一辆汽车时我们总是根据自己的需要,针对不同性能的汽车挑选出适合自己的汽车。例如,已知一辆汽车的百公里耗油量、汽车油箱容积、油表(显示汽车当前的油箱中的油量)、汽车行驶的公里数。试为买汽车的顾客估算不同的公里数汽车所要耗费的汽油数量。例如结果示例如下图所示。 【引导问题】 面向对象思想是什么?其核心是什么? 面向对象的特点是什么? 什么是类和对象?如何使用类?类由哪些元素构成? 6.2 面向对象编程基本思想 面向对象编程(OOP)旨在将现实世界中的事物或概念通过抽象的方法模拟到计算机程序中,它将现实世界中的所有的事物视为某个对象,这种编程方式允许程序员在编程时定义这些对象,同时定义可对这些对象进行的操作的方法。 面向对象程序设计中使用类的概念,一个类描述一类类似的物体。可以使用一个类定义书、人或者狗。类中包含属性和方法,分别对应现实事物的特征和行为。而某个具体的对象则是类的一个实例,此时的类相当于一个数据类型,可以使用“人”这样的类去创建多个具体的具有身高、年龄、性别等属性及相关方法的人。因此人可以用一个类来表达,这个类中包含身高、年龄、性别等属性以及走路、说话等方法,而一个具体的人则是“人”这个类的一个实例,例如,张三是“人”这个类的一个实例。 6.3 类与对象 多个对象共有的特征和行为可以组合成一个单元,称为“类”,类是对一类具有相同属性和行为的对象的描述,在计算机中,设计者使用“类”来描述现实世界中的物体和概念。 类是面向对象程序设计方法的核心,没有类面向对象无从谈起,我们可以将类看作是一种数据类型,为了满足描述现实世界中各种对象的需要,C#语法提供了对自定义类型的支持,这就是类。 6.3.1 类的声明和类的实例化 类是一组具有相同数据结构和相同操作的对象的集合。类是对一系列具有相同性质的对象的抽象,是对对象共同特征的描述。比如每一辆汽车都是一个对象的话,所有的汽车可以作为一个模板,我们就定义汽车这个类。 类的内容称为成员,类的成员包括变量、属性、方法、事件、索引器、构造函数、析构函数等。 1.类的声明 在C#中使用class{...}来定义一个类。要注意的是类的定义无论放在哪儿都可以,但是不可以放在namespace{}之外或者函数之内,也就是说,类定义是全局性的声明。 类的声明格式如下: [class-modifers] class classname { //类的成员... } 2.类的成员变量 类的变量用于存储类中的公共数据,声明类的变量的语法如下: [访问修饰符] 数据类型 变量名; 比如人有姓名、性别、年龄、身高等特征,那么描述人的类就应该存储姓名、性别、年龄、身高的变量,代码如下: class Person { private string name; private int age; private string sex; private float height; } 6.3.2 构造函数 构造函数用于执行类的实例的初始化 每个类都有构造函数 即使我们没有声明它 编译器也会自动地为我们提供一个默认的构造函数 在访问一个类的时候 系统将最先执行构造函数中的语句。 使用构造函数请注意以下几个问题: 一个类的构造函数通常与类名相同。 构造函数不声明返回类型。 一般地构造函数总是 public 类型的,如果是 private 类型的表明类不能被实例化这通常用于只含有静态成员的类。 在构造函数中不要做对类的实例进行初始化以外的事情也不要尝试显式地调用构造函数。 6.3.3 析构函数 析构函数不接受任何参数,也不返回任何值。如果你试图声明其它任何一个以符号 ~ 开头而不与类名相同的方法和试图让析构函数返回一个值一样,编译器都会产生一个错误。析构函数不能是继承而来的,也不能显式地调用。当某个类的实例被认为不再有效符合析构的条件,析构函数就可能在某个时刻被执行。 析构函数的基本形式为: ~classname { //code; } 6.4 方法 面向对象的本质在于各个类之间的方法的调用,面向对象中的方法类似于面向过程中的函数,面向对象中的方法定义在类中,方法中包含一系列实现某种功能的语句块。利用调用类对象的方法,实现各种操作功能。 6.4.1 方法的定义 方法定义和函数的定义类似,读者可以参
您可能关注的文档
- [计算机软件及应用]巧用excel数据透视表.ppt
- [计算机软件及应用]嵌入式软件基础4-接口与网络系统.ppt
- [计算机软件及应用]常考算法1.doc
- [计算机软件及应用]字处理技能之三.doc
- [计算机软件及应用]太原理工大学java实验报告.doc
- [计算机软件及应用]思迅商业之星V7常见问题.doc
- [计算机软件及应用]微机五防软件使用.ppt
- [计算机软件及应用]微软等数据结构+算法面试100题全部答案.pdf
- [计算机软件及应用]弹性云计算平台-Exalogic-Frank Xiong.pdf
- [计算机软件及应用]微软宠物商店代码分析文档.pdf
- 2025-2030中国陶瓷水果刀行业市场发展趋势与前景展望战略研究报告.docx
- 2025-2030中国陶瓷涂料行业市场发展趋势与前景展望战略研究报告.docx
- 2025-2030中国陶瓷注射成型行业市场发展趋势与前景展望战略研究报告.docx
- 2025年新疆维吾尔自治区巴音郭楞蒙古自治州轮台县高三一模数学试卷及答案.docx
- 2025-2030中国陶瓷清洁剂行业市场发展趋势与前景展望战略分析研究报告.docx
- 2025年新疆维吾尔自治区巴音郭楞蒙古自治州若羌县高三下学期考前数学适应性演练(二)试题.docx
- 2025-2030中国陶瓷添加剂行业市场现状供需分析及投资评估规划分析研究报告.docx
- 2025-2030中国陶瓷烤肉行业市场发展趋势与前景展望战略研究报告.docx
- 2025-2030中国陶瓷片式电感器行业市场现状供需分析及投资评估规划分析研究报告.docx
- 二零二五年度跨境电商合伙人合同3篇.docx
文档评论(0)