版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章建立面向对象的编程思想
主讲:胡伏湘问题与思考1、运行Java程序需要哪些软件?2、Java程序有几种类型?有什么不同?3、如何在Eclipse中运行Java应用程序?本章提要主要知识点:理解面向对象编程的基本思想;掌握面向对象编程的一般方法;能够运用Java语言编写简单的应用程序。学习目标:掌握面向对象编程的基本思想。
3.1面向对象的思想3.1.1面向对象思想的基本概念系统中一切皆为对象;对象是属性及其操作的封装体;对象可按其性质划分为类,对象成为类的实例;实例关系和继承关系是对象之间的静态关系;消息传递是对象之间动态联系的唯一形式,也是计算的唯一形式;方法是消息的序列。
3.1面向对象的思想3.1.1面向对象思想的基本概念主要概念包括:(1)对象:对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。(2)对象的状态和行为:对象具有状态,一个对象用数据值来描述它的状态。(3)类:具有相同或相似性质的对象的抽象就是类。类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。(4)类的结构:在客观世界中有若干类,这些类之间有一定的结构关系。(5)消息和方法:对象之间进行通信的结构叫做消息。3.1面向对象的思想3.1.2面向对象思想的基本特征(1)对象的唯一性:每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。(2)分类性:指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。(3)继承性:继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重性。采用继承性,提供了类的规范的等级结构。通过类的继承关系,使公共的特性能够共享,提高了软件的重用性。(4)多态性:指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果,不同的对象,收到同一消息可以产生不同的结果。多态性允许每个对象以适合自身的方式去响应共同的消息,增强了软件的灵活性和重用性。
3.1面向对象的思想3.1.3面向对象思想的基本要素(1)抽象:使用抽象可以尽可能避免过早考虑一些细节,类实现了对象的数据(即状态)和行为的抽象。(2)封装性(信息隐藏):封装性是保证软件部件具有优良的模块性的基础。面向对象的类是封装良好的模块,类定义将其说明(用户可见的外部接口)与实现(用户不可见的内部实现)显式地分开,其内部实现按其作用域提供保护。(3)共享性:面向对象技术在不同级别上促进了共享,同一类中的对象有着相同数据结构,这些对象之间是结构、行为特征的共享关系。面向对象不仅允许在同一应用中共享信息,而且为未来目标的可重用设计准备了条件,通过类库这种机制和结构来实现不同应用中的信息共享。3.2面向对象编程方法面向对象编程方法(Object-OrientedMethod)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO方法,是建立在“对象”概念基础上的方法学。面向对象编程通常要经过9个步骤:见教材。3.2面向对象编程方法主要概念解析:1、对象、类和消息对象object就是变量和相关的方法的集合,其中变量表明对象的状态,方法表明对象所具有的行为
类class中定义一类对象共有的变量和方法。把一个类实例化即生成该类的一个对象
对象之间必须要进行交互来实现复杂的行为,用消息message的形式提供信息,消息包括3个方面(接收者,方法,参数)3.2面向对象编程方法2、继承inherit
通过对象、类,可以实现封装encapsulation,通过子类则可以实现继承
通过父类fatherclass和子类subclass,实现类的的层次,可以从最一般的类开始,逐步特殊化定义一系列的子类
通过继承实现了代码的复用,使程序的复杂性线性地增长,而不是呈几何级数增长
3.2面向对象编程方法3、抽象abstract与接口interface抽象化概念的生成是为了要降低程序版本更新后,在维护方面的负担
使功能的提供者和功能的用户能够分开,各自独立,彼此不受影响为了达到抽象化的目的,需要在功能提供者与功能使用者之间提供一个共同的规范,即接口3.2面向对象编程方法4、多态
polymorphismJava通过方法重写和方法重载来实现多态。
通过方法重写override,一个类中可以有多个具有相同名字的方法,由传递给它们的不同个数的参数来决定使用哪种方法,这就是多态
通过方法重载,子类可以重新实现父类的某些方法,使其具有自己的特征
3.2面向对象编程方法3.2.3类的实现1.类的声明classClassName{……}2.类体类体中定义了该类所有的变量(即属性)和该类所支持的方法。通常变量在方法前定义(并不一定必须要有)classPoint{intx,y;voidinit(intm,intn){x=m;y=n;}}
3.2面向对象编程方法3.成员变量最简单的成员变量
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度解析(2026)《GBT 30260-2013公共机构能源资源管理绩效评价导则》
- 深度解析(2026)《GBT 30191-2013外墙光催化自洁涂覆材料》
- 2026年中考物理初中试题及答案
- 中国血液吸附急诊专家共识总结2026
- 深度解析(2026)《GBT 29798-2013信息技术 基于Web服务的IT资源管理规范》
- 深度解析(2026)《GBT 29756-2013干混砂浆物理性能试验方法》
- 深度解析(2026)《GBT 29723.2-2013煤矿主要工序能耗等级和限值 第2部分:主排水系统》
- 《GBT 6567.4-2008技术制图 管路系统的图形符号 阀门和控制元件》(2026年)合规红线与避坑实操手册
- 《EJT 20031-2012放射性厂房表面污染测量方法》(2026年)合规红线与避坑实操手册
- 《CBT 3474.1-2013船用柴油机钢模锻件 第1部分:技术条件》(2026年)合规红线与避坑实操手册
- 2026年农电工通关题库及参考答案详解【综合题】
- 2026 年山东中考历年英语作文合集十篇
- 2026安徽阜阳市金能投资有限公司工作人员招聘7人笔试模拟试题及答案解析
- 2026年卫生高级职称面审答辩(重症医学科)副高面审经典试题及答案
- 2026年新一轮海洋综合调查海底地形地质生态环境本底
- 客运防汛应急预案(3篇)
- 水泥助磨剂生产质量管理规程
- 2025年慈利县融媒体中心(县广播电视台)招聘职业能力测试备考题库300道必考题
- 物业管家上门拜访培训
- GB/T 5782-2025紧固件六角头螺栓
- 直男培训改造课程
评论
0/150
提交评论