• 什么是面向对象?

OOP:面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构。OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。
OOA:面向对象分析( Object-Oriented Analysis ,OOA)是确定需求或者业务的角度,按照面向对象的思想来分析业务。
OOD:面向对象设计(Object-Oriented Design,OOD)方法是OO方法中一个中间过渡环节。其主要作用是对OOA分析的结果作进一步的规范化整理,以便能够被OOP直接接受。

如果说传统的过程式编程语言是以过程为中心,以算法为驱动的话,面向对象的编程语言则是以对象为中心,以消息为驱动。用公式表示,过程式编程语言为:程序=算法+数据;面向对象编程语言为:程序=对象+消息。
面向对象不是取代面向过程的。

  • 为什么要面向对象?

与人类习惯的思维方法一致;
稳定性好;
可重用性好;
较易开发大型软件产品;
可维护性好。

  • 什么是面向对象思维方法?

1、 首先确定谁来做,其次确定怎么做;
2、 首先考虑整体,其次考虑局部;
3、 首先考虑抽象,其次考虑具体;

  • 应该如何学习面向对象?

1、 掌握一门面向对象语言的语法;
2、 掌握面向对象的思维方式;
3、 熟悉面向对象设计原则;
4、 掌握面向对象设计模式

  • 对象

对象三要素:对象标志、属性和服务。
对象标志(object identifier),也就是对象的名字,供系统内部唯一地识别对象。
属性(attribute),也称状态(state)或数据(data),用来描述对象的静态特征。
服务(service),也称操作(operation)、行为(behavior)或方法(method)等,用来描述对象的动态特征。
对象是什么?
从概念层面讲,对象是某种拥有责任的抽象。
从规格层面讲,对象是一系列可以被其他对象使用的公共接口。
从语言实现层面讲,对象封装了代码和数据。

对象包含三个基本要素,分别是对象标识、对象状态和对象行为。
每一个对象必须有一个名字以区别其他对象,这就是对象标识;状态用来描述对象的某些特征;对象行为用来封装对象所拥有的业务操作。
举例说明,对于老师Bobby而言,包括性别、年龄、职位等个人状态信息,同时还具有授课的行为特征,那么Bobby就是封装后的一个典型对象。

  • 类与实例

类就是具有相同的属性和功能的对象的抽象的集合。
实例化:实例,就是一个真实的对象
实例化就是创建对象的过程,使用new关键字来创建。

类是对象的抽象,对象是类的具体实例。
类和对象的关系可以总结为:
1) 每一个对象都是某一个类的实例。
2) 每一个类在某一时刻都有零或更多的实例。
3) 类是静态的,它们的存在、语义和关系在程序执行前就已经定义好了,对象是动态的,它们在程序执行时可以被创建和删除。
4) 类是生成对象的模板。

类不占内存,对象才占内存。
格式:类名 对象名 = new 类名();
类:栈内存
对象:堆内存(引用数据类型)
类是抽象的概念,仅仅是模板,比如说:“人”
对象是一个你能够看得到、摸得着的具体实体,比如:“小布什”、“奥巴马”

  • OOAD

OOAD是根据OO的方法学,对软件系统进行分析和设计的过程
OOA 分析阶段
OOD 设计阶段

定义OOD阶段
设计阶段主要解决以下问题
 如何解决具体的业务问题
 引入系统工作所需的支持元素
 定义系统的实现策略
此阶段要解决的核心问题是“How to do?”

在学习OOAD和开发的项目的过程中有一些感悟和想法,整理和编写了一些学习资料,文章的最后给出《OOAD与UML那点儿事》目录索引链接以及示例代码下载,限于能力有限,某些不经意的错误在所难免,这里的朋友们,如果发现任何错误与不当,烦请及时反馈给我,这是最大的支持和鼓励。
《OOAD与UML那点儿事》目录索引
http://www.cnblogs.com/Bobby0322/p/4178333.html

【OOAD】OOAD概述的更多相关文章

  1. OOAD基本概念

    学习目标: 1.理解与掌握面向对象的概念与方法. 2.使用UML. 3.完成面向对象的分析与设计工作. 4.了解OO的设计原则及一些典型的设计模式 什么是面向对象? 面向对象(Object-Orien ...

  2. OOAD与UML笔记

         UML基础介绍 1.UML的定义 统一建模语言(UML)是一种图形化的语言,它可以帮助我们在OOAD过程中标识元素.构建模块.分析过程并可通过文档说明系统中的重要细节 2.OOAD OO ...

  3. OOAD与UML

    UML基础介绍 1.UML的定义 统一建模语言(UML)是一种图形化的语言,它可以帮助我们在OOAD过程中标识元素.构建模块.分析过程并可通过文档说明系统中的重要细节 2.OOAD OOAD是根据OO ...

  4. 【OOAD】设计模式概述

    模式的诞生与定义 模式起源于建筑业而非软件业模式(Pattern)之父——美国加利佛尼亚大学环境结构中心研究所所长Christopher Alexander博士<A Pattern Langua ...

  5. 【OOAD】面向对象设计原则概述

    软件的可维护性和可复用性 知名软件大师Robert C.Martin认为一个可维护性(Maintainability) 较低的软件设计,通常由于如下4个原因造成: 过于僵硬(Rigidity)  ...

  6. 第一章 面向对象软件工程与UML

    这个OOAD讲的都是很抽象的东西!老师说这个在现在的学习中用到的不是很多,但是以后出去工作的时候就会常用到的. 首先来了解OOAD是讲什么的. OOAD:Object Oriented Analysi ...

  7. 《OOAD与UML那点儿事》目录索引

    关键字:OOAD.UML.设计模式 各位园友,大家好,我是Bobby,在学习OOAD和开发的项目的过程中有一些感悟和想法,整理和编写了一些学习资料 [内容简介]掌握某种开发语言,让你实现了由零到一的脱 ...

  8. 笔记一:OOAD与UML

    一.面向对象的概念与方法 1.  面向对象 1.1. 面向对象是一种系统建模技术 1.2. 面向对象编程是按照OO的方法学来开发程序的过程 1.3. 通过分析系统内对象的交互来描述或建模一个系统 1. ...

  9. OOAD(面向对象分析和设计)GRASP之创建者模式(Creator)又称生成器模式学习笔记

    说OOAD是一门玄学,一点都不为过.又或许是因为我之前一直没有很好的建立面向对象的思想,更有可能是因为练得不够多...总之,一直没能很好理解,哪怕把一本叫做<UML和模式应用>的书翻来覆去 ...

随机推荐

  1. 第三方支付过程中session失效问题

    第三方支付过程中session失效问题 时间 2015-05-13 12:36:23  IT社区推荐资讯 原文  http://itindex.net/detail/53436-session-问题 ...

  2. java 求 两个数的百分比% (转)

    int num1 = 7; int num2 = 9; // 创建一个数值格式化对象 NumberFormat numberFormat = NumberFormat.getInstance(); / ...

  3. rabbitmq之消息转储vm_memory_high_watermark_paging

    rabbitmq为了预防内存达到上限,会在内存使用到了一定比例后,将消息转储到磁盘去.

  4. IAR EW8051-8.10.4安装及破解方法

    第一步:获取破解license 1: 点击桌面左下角“开始”按钮,找到cmd.exe,右键创建cmd.exe 快捷方式到桌面: ————如果是windows7 ,请右键点击cmd.exe 快捷图标,点 ...

  5. 【爬虫】python之BeautifulSoup用法

    1.爬虫 网络爬虫是捜索引擎抓取系统的重要组成部分.爬虫的主要目的是将互联网上的网页下载到本地形成一个或联网内容的镜像备份.通过分析和过滤HTML 代码,实现对图片.文字等资源的获取. 2.pytho ...

  6. python 安装easy_install和pip

    做个记录 easy_install和pip都是用来下载安装Python一个公共资源库PyPI的相关资源包的 首先安装easy_install 下载地址:https://pypi.python.org/ ...

  7. Linux下使用shell实现上传linux下某个目录下所有文件到ftp

    首先我们需要搞清楚单个文件怎么上传,把这个单文件上传到ftp上的实现命名为一个:upload_to_ftp_command.sh 之后,需要弄清楚怎么实现遍历一个目录下的所有文件的,把这个遍历某个目录 ...

  8. Java -- 在Eclipse上使用Hibernate

    最近一个项目要用Java做,一点都不熟啊.没办法,只好硬着头皮啃了,花了大半天的时间,终于在Eclipse上完成了第一个Hibernate例子.下面记录关键的步骤,权作笔记,以备日后查看. (1)下载 ...

  9. 如何用openvr api打开vive前置摄像头

    随着越来越多的开发者开始他们的VR开发工作,他们看到了这项技术的巨大潜力,像是Valve这样的公司正在想办法保证他们的软件开发包(SDK)能够提供尽量多的功能.今天这家公司发布了其针对SteamVR的 ...

  10. 响应式布局1--媒体查询和-webkit-min-device-pixel-ratio

    -webkit-min-device-pixel-ratio其实就是这个玩意 window.devicePixelRatio是设备上物理像素和设备独立像素(device-independent pix ...