- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
什么是对象 Webster词典定义 某种可为人所感知的物质 思维、感受或动作所作用的物质或精神体 学生选课系统(SRS)中对象的例子 学生、教师、教室……. 课程、院系、评分……. 软件对象的定义 是一种将状态(数据)和行为(操作)合成到一起的软件构造,用来描述真实世界的一个(物理或概念性的)对象 属性与状态 State,Attribute,Data 记录一个学生的信息,需要: 姓名、学号、生日、住址、专业、等级分 导师、在修课程、已修课程成绩单……. 课程对象,需要: 课程编号、课程名称、先修课程、有效学时 可任课教师……. Attribute指字段(C#中含义不同,相当于field),一些特点字段的值可以表示一定的状态,例如到目前为止是否达到可以毕业的状态 行为、操作、方法 学生的行为 Behavior 学修一门课程、退选、选择主修专业、选择导师、查询GPA…… 课程的行为 允许学生选修、判断是否选修、查询名额、先修课程、学时、上课教师…… 对于软件把对象的行为或称操作 operation 学生对象的每种操作都与学生的一个或多个属性相关 查询GPA与GPA属性相关…… C#中使用更严格的编程术语方法(Method) 类 Class 类描述了一组相似对象的共同特性。 类定义以下要素 定义该类对象所需要的数据结构 这些对象要执行的操作 学生类的属性与方法 命名惯例 Pascal命名法——大写字母开头,整个名字采用混合大小写的方式 例如类名:Student,Course,CourseCatalog等 方法名:Main,GetName,RegisterForCourse等 Camel命名法——小写字母开头,后面跟随的单词都以大写字母开头。 例如属性名:name,studentID,courseLoad等 实体化(Instantiation) 类定义可以看作是创建软件对象的模板——一种模型,用来: 在内存中开辟一个数据区,存储新对象的属性 把一系列行为与对象关联起来 类与对象的不同之处: 类定义特征——attribute、方法等,可以把类看作对象模板 template 对象是模板的单一实体,attribute值已经给出,方法可以被调用 参见书上P57图3-1、图3-2 封装(Encapsulation 表示将对象状态与行为绑定单一逻辑单元中的机制。 对比c语言的结构及函数 用户定义类型 定义一个类,类就是一种用户定义类型 在程序语言中对象表示为一个类定义类型的变量,与Int型等预定义类型一样 Student y; y表示一个Student对象的符号 y可以使用类定义的一系列服务请求 无论何时需要操作对象,只需要引用y 对象实体化 在C#语言中定义一个对象必须使用new关键字才能实际在内存中创造一个全新的对象实例 y new Student ; 构造函数的作用后面讨论; 图3-3表示上面的语句; 句柄概念 句柄是非正式术语,但以前比较常用 注意对象变量与实例的关系,常使用句柄(handle 表示“引用变量y维护一个Student对象的句柄” new Student ;语句可以运行,但一般没有意义 对象悬空 没有句柄指向的内存就是垃圾内存,Java与C#都可以自动回收 图3-4至3-7演示内存泄露的情况,这种情况对c++语言是致命的,在c#中可以自动回收 例外:加入容器或列表中的对象可以通过父对象变量遍历子对象取得对象 作为Attribute的对象 一个类的属性的类型可以是预定义类型,也可以是用户定义类型,用户定义类型就是类 使用自定义类型的Attribute的字段在实例化时是一个引用类型的变量,也就是一个地址 在表示一对多的关系时,例如一个导师可以指导多个学生时使用collection这种技术 作为属性类型的对象 类的某个属性类型可以使用另一个类来定义 例如学生类的导师属性的类型是Professor类 Professor类中还可以根据需要使用其它类来作为自身属性的类型 在表示一对多的关系时可以使用collection群集(在C#中表示为集合更准确)来表示 合成(Composition) 如创建一个类,如Student或Professor,该类的一个或多个attribute指向另外的对象,则这种面向对象技术称作合成 内嵌的对象在特殊的场合可以使用(严格一一对象,并不能被其他对象从外部访问),但一般都是存储一个句柄或一组句柄 使用句柄的优点:保持数据的一致性、节约系统内存 事件、事件处理程序概念 在面向对象理论中,一个对象可以有属性、等成员外,还有事件(event)。所谓事件,是对象内部状态发生了某些变化、或者对象做某些动作时向外界发出的通知。打个比方就是,对象“张三”肚子疼了,然后他站在空地
您可能关注的文档
- TBS报告方式说明重点.doc
- ch10图论重点.ppt
- LanCableminiCMTS部署方案重点.doc
- Landsat8OLI遥感影像的组合分析法对铁染蚀变的提取研究重点.docx
- Ch13特殊图-2重点.ppt
- Tc2.0编写俄罗斯方块游戏重点.doc
- TCA785移相控制芯片应用方法的改进文档分析.doc
- LARS培训教材+..重点.ppt
- TCAD工具简介重点.ppt
- TCGADataPrimer重点.docx
- 实验室危废随意倾倒查处规范.ppt
- 实验室危废废液处理设施规范.ppt
- 实验室危废处置应急管理规范.ppt
- 初中地理中考总复习精品教学课件课堂讲本 基础梳理篇 主题10 中国的地理差异 第20课时 中国的地理差异.ppt
- 初中地理中考总复习精品教学课件课堂讲本 基础梳理篇 主题10 中国的地理差异 第21课时 北方地区.ppt
- 危险废物处置人员防护培训办法.ppt
- 危险废物处置隐患排查技术指南.ppt
- 2026部编版小学数学二年级下册期末综合学业能力测试试卷(3套含答案解析).docx
- 危险废物处置违法案例分析汇编.ppt
- 2026部编版小学数学一年级下册期末综合学业能力测试试卷3套精选(含答案解析).docx
原创力文档


文档评论(0)