Java面向对象编程 第一章 面向对象开发方法概述
一、软件开发经历的生命周期:
①软件分析 ②软件设计 ③软件编码 ④ 软件测试 ⑤ 软件部署 ⑥软件维护
二、为了提高软件开发效率,降低软件开发成本,一个优良的软件系统应该具备以下特点:
① 可重用性 ② 可扩展性 ③ 可维护性
三、系统结构是指系统由多个子系统组成,以及子系统由多个更小的子系统组成的结构
软件中的子系统具有以下特点:
① 结构稳定性 ②可扩展性 ③内聚性 ④可组合性 ⑤松耦性
四、目前在软件开发领域有两种主流的开发方法:结构化开发和面向对象开发
1、结构化开发是一种比较传统的开发方法,随着软件开发的逐步发展,面向对象的编程语言以及面向对象的设计理论应运而生,Java语言就是一种纯面向对象的编程语言
结构化开发简介:
结构化设计是属于自顶向下的设计。在进行结构化编程时,程序的主体是方法,方法是最小的功能模块。
举例说明结构化开发过程,图1-4显示了一个按照功能划分的画板panel系统的结构。
包括4个功能模块:选择形状模块、画长方形模块、画圆模块和画直线模块。图1-5为选择形状模块的数据流图
结构化开发弊端:
①自顶向下地按照功能来划分软件模块
②软件系统中最小的子系统是方法
2、面向对象软件开发方法简介
把软件系统看成各种对象的集合,对象就是最小的子系统,一组相关的对象能够组合成更复杂的子系统。
优点:
① 把软件系统看成是各种对象的集合,更接近人类的自然思维方式
② 系统结构稳定
③ 提高软件的可维护性、可重用性、可扩展性
五、对象模型
1、自底向上的抽象
2、自顶向下的分解
3、UML可视化建模语言
4、Rational Rose 可视化建模工具
六、面向对象开发中的核心思想和概念
问题领域、对象、属性、状态、行为、方法、实现
对象是对问题领域中事物的抽象。对象特征:
1.万物皆为对象
2.每个对象都是唯一的
3.对象具有属性和行为
4.对象具有状态
5.对象都属于某个类
七、类、类型
类是一组具有相同属性和行为的对象的抽象。类及类的关系构成了对象模型的主要内容
八、消息、服务
每个对象都具有特定的功能,相对于其他对象而言,它的功能就是为其他对象提供的服务。例如电视机具有的功能包括:开机、关机、选择频道、调节音量和播放VCD等。遥控器为了获得电视机的服务,需要向电视机提出获得特定服务的请求,提出请求的过程被称为发送消息
九、接口
在现实世界中,接口也是实体,比如电源插口、洗衣机上的按钮和电灯的开关。而在面向对象范畴中,接口是一个抽象的概念,是指系统对外提供的所有服务。
在Java语言中,接口有两种意思:
1、指系统对外提供的所有服务,在对象中表现为public类型的方法的声明
2、指用interface关键字定义的实实在在的接口,也称为接口类型。用于描述系统对外提供的所有服务,更加清晰地把系统的实现细节与接口分离
十、封装、透明
封装是指隐藏对象的属性和实现细节。
两个原则:
1、把尽可能多的东西藏起来,对外提供简捷的接口
2、把所有的属性藏起来
十一、抽象
抽象是一种由具体到抽象、由复杂到简洁的思维方式。在面向对象的开发过程中,抽象体现在以下方面
1、从问题领域的事物到软件模型中对象的抽象
2、从对象到类的抽象
3、从子类到父类的抽象
十二、继承、扩展、覆盖
在父类和子类之间同时存在着继承和扩展关系。子类继承了父类的属性和方法,同时,子类中还可以扩展出新的属性和方法,并且还可以覆盖父类中方法的实现方式。覆盖也是专业术语,是指在子类中重新实现父类中的方法。
注:
子类只能继承父类的部分属性和方法,父类中用private修饰的属性和方法对子类是透明的。
目前在Java领域比较流行的架构软件包括:
① J2EE
② Struts
③ JSF
④ Spring
十三、组合
组合是一种用多个简单子系统来组装出复杂系统的有效手段。个人计算机系统就是一个典型的组合系统。它由主机、键盘、鼠标、显示器、和外围设备打印机等组成。而主机由处理器、内存、一个或多个硬盘、显卡、网卡和声卡等组成。
十四、多态、动态绑定
十五、UML语言简介
十六、类之间的关系
十七、关联、依赖、聚集、泛化、实现
关联:指的是类之间的特定对应关系,在UML中用带实线的箭头表示
依赖:指的是类之间的调用关系
聚集:指的是整体与部分之间的关系
泛化:指的是类之间的继承关系
实现:指的是类与接口之间的关系
小结:
Java面向对象编程 第一章 面向对象开发方法概述的更多相关文章
- Java 面向对象编程——第一章 初识Java
第一章 初识Java 1. 什么是Java? Java是一种简单的.面向对象的.分布式的.解释的.安全的.可移植的.性能优异的多线程语言.它以其强安全性.平台无关性.硬件结构无关性.语言简 ...
- java并发编程--第一章并发编程的挑战
一.java并发编程的挑战 并发编程需要注意的问题: 并发编程的目的是让程序运行的更快,然而并不是启动更多的线程就能让程序最大限度的并发执行.若希望通过多线程并发让程序执行的更快,会受到如下问题的挑战 ...
- 【程序员翻身计划】Java高性能编程第一章-Java多线程概述
目标 重点: 线程安全的概念 线程通信的方式与应用 reactor线程模型 线程数量的优化 jdk常用命令 Netty框架的作用 难点 java运行的原理 同步关键字的原理 AQS的抽象 JUC的源码 ...
- JAVA / MySql 编程—— 第一章 数据库的设计
1. 数据库设计:将数据库中的数据实体及这些数据实体之间的关系进行规划和结构化的过程: 良好的数据库设计: 节省数据的存储空间 能够保证数据的完整性 方便进行数据库应用系统的开发 糟糕 ...
- [.net 面向对象编程基础] (11) 面向对象三大特性——封装
[.net 面向对象编程基础] (11) 面向对象三大特性——封装 我们的课题是面向对象编程,前面主要介绍了面向对象的基础知识,而从这里开始才是面向对象的核心部分,即 面向对象的三大特性:封装.继承. ...
- [.net 面向对象编程基础] (12) 面向对象三大特性——继承
[.net 面向对象编程基础] (12) 面向对象三大特性——继承 上节我们说了面向对象的三大特性之一的封装,解决了将对同一对象所能操作的所有信息放在一起,实现统一对外调用,实现了同一对象的复用,降低 ...
- [.net 面向对象编程基础] (13) 面向对象三大特性——多态
[.net 面向对象编程基础] (13) 面向对象三大特性——多态 前面两节,我们了解了面向对象的的封装和继承特性,面向对象还有一大特性就是多态.比起前面的封装和继承,多态这个概念不是那么好理解.我们 ...
- Windows核心编程第一章.错误处理
Windows核心编程第一章,错误处理. 一丶错误处理 1.核心编程学习总结 不管是做逆向,开始做开发.在Windows下.你都需要看一下核心编程这本书.这本书确实写得很好.所以自己在学习这本书的同时 ...
- “全栈2019”Java异常第十一章:重写方法时只能抛出父类异常子集
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...
随机推荐
- eclipse报错:Failed to load the JNI shared library
Eclipse运行时提示“Failed to load the JNI shared library /Java/jre6/bin/client/jvm.dll”的一个解决方案 因为 Eclipse ...
- Java中,方法的重写、重载的区别,以及多态的实例
首先我们要明白什么是重写和重载 重写(override):子类方法覆盖了父类的方法. (类与类之间继承的关系) 例:父类代码 public class Deng { public void Qi ...
- Asp.net mvc自定义Filter简单使用
自定义Filter的基本思路是继承基类ActionFilterAttribute,并根据实际需要重写OnActionExecuting,OnActionExecuted,OnResultExecuti ...
- entityframework学习笔记--005-给code first一个正确的解释
在微软官方关于ef7的介绍中强调,ef7将舍弃database first.model first,只保留code first的使用.这引起了很多人的担忧,担忧源自对code first的错误理解.因 ...
- ORCALE数据库自动备份(非数据库备份)
最近项目比较紧:很少写东西了. 这个是我上上个阶段写的一个自动备份的小工具:主要是选择性的备份数据库表结构和表里的数据. 置于工具里面的审计功能下次再介绍吧. 审计数据库结构主要是把表结构的异动都记录 ...
- 推荐一个内容滚动jquery插件
myslider是一个内容滚动jquery插件,版本0.1.2的每次滚动内容是一行内容,可以是文字,可以是一个链接,还可以是图片. 官方网址:http://keleyi.com/jq/myslider ...
- iOS 二维码扫描
// 导入 AVFoundation.framwork 框架#import "HDCodeViewController.h" #import "HDNormalViewC ...
- [转]Android应用程序框架思路整理
一.一般Android应用程序架构(Book,购彩,Market). 普通的应用程序由于只需要用到Android的联网与显示的功能,所以应用程序大体上是呈现为UI(Activities)与网络(Net ...
- ios textfield / textview长按复制粘贴中文显示
当我们在写应用时要复制粘贴文本框内容时,默认显示的文字为英文字体,可按如下步骤设置,显示中文:
- SSRS Reports 2008性能优化案例
我们的一个Reporting Service服务上部署了比较多的SSRS报表,其中有一个系统的SSRS报表部署后,执行时间相对较长,加之供应商又在ASP.NET页面里面嵌套了Reporting Ser ...