- 1
- 0
- 约1.55万字
- 约 60页
- 2017-06-07 发布于湖北
- 举报
江苏大学软件工程课程组 江苏大学软件工程课程组 第3章 面向对象编程 本章内容 软件工程的发展历史 编程语言的发展 面向过程的设计思想 面向对象的设计思想 对象和类的概念 类之间的关系 对象和引用 Java 类的定义 构造函数 对象的创建和使用 源文件的布局 package 和 import 语句 部署 软件工程 软件工程是一门难以驾驭的学科。 寻求的是通过代码复用使软件系统创建更容易 编程语言的发展 机器语言-直接由计算机的指令组成,指令、数据、地址都以“0”和“1”的符合串组成;可以被计算机直接执行。 汇编语言-用容易理解和记忆的符号表示指令、数据以及寄存器等,抽象层次很低,程序员需要考虑大量的机器细节。 高级语言-屏蔽了机器细节,提高了语言的抽象层次接近于人的自然语言,60年代出现的结构化编程语言提出了结构化数据和语句,数据和过程抽象等概念。 面向对象的语言-与已往的各种语言的根本不同是,它的设计出发点就是为了更能直接的描述问题域中客观存在的事物。 分析和设计阶段 一个软件项目的开发分五个主要的工作流程:需求捕获、分析、设计、实现和测试 分析描述系统需要做什么: 对真实世界进行建模,包括参与者和活动、对象和行为。 设计描述系统如何工作: 对系统中对象和参与者之间的关系和交互进行建模。 找出有用的抽象来帮助简化问题或解决方案。 抽象 软件设计一直在从低级构造向更高级发展 抽象:指忽略对象的不重要的细节,而集中关注其重要的细节 简化构建高级语言的结构,不使用原始的机器编码 抽象的概念导致高级语言中的子程序(函数)的发展,以及对象中的函数和数据配对。更高级别上,导致框架和API的发展 面向过程的设计思想和面向对象的设计思想 我要去新疆 面向过程 我开车,我挂档,我踩油门,我过河北,我过陕西… 面向对象 我命令车去新疆 车怎么去不关我事 信息封装在车这个类的内部 我不用去了解车整个开动的过程 面向对象的基本思想:从现实世界中客观存在的事物出发构造软件系,并在系统的构造过程中尽可能运用人类的自然思维方式。 面向对象更加强调运用人类在日常思维逻辑中经常采用的思想方法与原则,如抽象、分类、继承、聚合、多态等 对象和类的概念 对象用计算机语言对问题域中事物的描述,对象通过“属性(attribute)”和“方法(method)”来分别对应事物所具有的静态属性和动态属性。 类是用于描述同一类形的对象的一个抽象的概念,类中定义了这一类对象所应具有的静态和动态属性。 类可以看成一类对象的模板,对象可以看成该类的一个具体实例。 类(对象)之间的关系 之 关联关系 继承关系(一般和特殊) 聚合关系(整体和部分) 实现关系 多 态 Java与面向对象 为什么用对象? Java 类的定义 成员变量的声明 成员变量 成员变量可以使用Java语言中任何一种数据类型(包括基本类型和引用类型(数组、对象))。 在定义成员变量时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化。(右图) 成员变量的作用范围为整个类体。 方 法 局部变量和成员变量 局部变量和成员变量(续) Java面向对象基本概念 - 引用 对象的创建 创建一个对象包括对象的声明和为对象分配内存两个步骤 对象的声明一般格式为: 类的名字 对象的名字 Book java2 // Book是类名 java2对象的名字 对象的声明仅仅告诉编译器,对象所属的类,并没有真正为对象分配空间,只有使用new运算符实例化对象并为对象分配存储空间 为声明的对象分配内存 使用new运算符和类的构造方法为声明的对象分配内存,如果类中没有构造方法,系统会调用默认的构造方法。创建一个对象的实际物理拷贝,返回对它的引用,这个引用就是new分配给对象的内存首地址,然后这个引用就被存储在该对象名中。如: java2 =new Book(); //使用new运算符和默认的构造方法为对象分配内存 java2是已声明的对象,通过new运算符为java2分配一段存储空间,对象名java2就是该内存对象的一个引用,即java2的值是为对象分配的内存空间的首地址。 对象的使用 对象不仅可以操作自己的变量改变状态,而且还拥有了使用创建它的那个类中的方法的能力,对象通过使用这些方法可以产生一定的行为。 通过使用运算符“.”,对象可以实现对自己的变量访问和方法的调用。 person.age person.setAge(25) 当对象调用方法时,方法中出现的成员变量就是指该对象的成员变量。 同一类的每个对象有不同的成员变量存储空间。 同一类的每个对象共享该类的方法。 类和对象的关系 封装 封装通过以下活动提供了数据表示的灵活性: 隐藏了类的实现细节。 强迫用户使用接口
您可能关注的文档
- Java初学 简单课件 第3章 类的封装、继承及多态.ppt
- Java大学实用教程第四讲.ppt
- 极限配合和技术测量课件.ppt
- java的动态绑定和双分派.pdf
- Java第03章--2(对象及类).pdf
- 极小值原理与应用.ppt
- 技能部分第一二篇练习Microsoft Word 文档.doc
- 第八章 Altiris简单安装步骤.pdf
- 检索及推荐中的排序.pdf
- Java第六篇图形界面设计.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 原调正谱G小小蝴蝶la farfalletta钢琴伴奏高清打印版.pdf VIP
- 上海大学2024-2025学年第1学期《高等数学(上)》期末考试试卷(B卷)附参考答案.pdf
- 广发证券-交通银行-601328-零售转型提速,定增落地夯实资本根基.pdf
- 上海大学2024-2025学年第1学期《高等数学(上)》期末考试试卷(A卷)附参考答案.pdf
- 循环系统护理小讲课.pptx
- 建筑屋面西瓦专项施工方案(范本).doc VIP
- 2024年山东铝业职业学院单招综合素质考试题库及答案1套.docx VIP
- 探究TIPS术后支架堵塞的影响因素及抗凝治疗的必要性:基于多维度分析与临床实践.docx
- 成品仓库出货明细表.pdf VIP
- 贵州省黔西南州2025年中考数学试卷及答案.pdf VIP
原创力文档

文档评论(0)