#第一天 面向对象之路
##一
1 顺序结构 2 选择结构 3 循环结构
2 成员变量+方法=类定义
3 面向对象三个基本特征 封装,继承,多态。
4 判断一门语言是否是面向对象,通常可以使用继承和多态来加以判断。
5 面向对象软件开发需要经过 OOA(面向对象分析)、OOD(面向对象设计)、OOP(面向对象编程)三个阶段。
6 java不允许直接访问对象,而是对对象的引用来操作对象。对象也就是实例
*##二 统一建模语言介绍(UML)
###2.1 用例图
用例图用于描述系统提供的系列功能,每个用例代表系统的一个功能模块。仅仅是系统功能的描述。
###2.2 类图
类图表示系统中应该包含哪些实体,各实体之间如何关联。
类图三种基本关系, 关联、泛化(与继承同一个概念)、依赖。
###2.3组件图
组件图是用来描述各个模块之间的相互关系的图。
###2.4 部署图
部署图用于描述软件系统如何部署到硬件环境中,他的用途是显示软件系统不同的组件将在何处物理运行,一集他们将如何彼此通信。
###2.5 顺序图
顺序图显示具体用例的详细流程,并且显示不同对象之间的调用关系。
*### 2.6 活动图
用于描述用例内部的活动或方法的流程,除去活动图中的并行,就和流程图一样。
###2.7 状态机图
用来表示某个对象所处的不同状态和该类的状态转换信息。只有真正需要关心各个状态的对象才绘制状态机图。
思考:为什么要使用抽象类?*
答:在 面向对象的概念中,我们知道所有的对象都是通过类来描绘的,但是反过来却不是这样。并不是 所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类往往用来表征我们在对问题领域进行分析、 设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。比如:如果我们进行一个图形编辑软件的开发,就会发现问题领域存在着圆、 三角形这样一些具体概念,它们是不同的,但是它们又都属于形状这样一个概念,形状这个概念在问题领域是不存在的,它就是一个抽象概念。正是因为抽象的概念 在问题领域没有对应的具体概念,所以用以表征抽象概念的抽象类是不能够实例化的。
思考: 访问修饰符的范围?
答: