1、面向对象
- 三种基本特征:继承、封装和多态
- Java完全以对象为中心,最小程序单位是类,程序由一个一个的类组成
- 面向对象三部分:面向对象分析(OOA)、面向对象设计(OOD)和面向对象编程(OOP)
- 面向对象相对于结构化开发(面向过程)可以提供更好的可重用性、可扩展性和可维护性
- 结构化编程:采用结构化方式设计的软件系统,整个软件系统就由一个个函数组成,这个软件运行入口往往由一个“主函数”代表,而主函数负责把系统中的所有函数“串起来”。特点:设计不够直观,与人类思维习惯不一致,开发者需要将客观世界模型分解成一个个功能适应性差,可扩展性不强,由于是自顶向下的设计,发生需求改变时,维护成本就相当高
- 三种循环:
- 顺序结构:自上而下执行
- 选择结构:单选择、双选择和多选择,也就是if…else…
- 循环结构:当型结构(for、while)和直到型结构(do…while)
- 面向对象程序设计
- 面向对象的基本思想是使用类、对象、继承、封装、消息等基本概念进行程序设计,从现实世界中客观存在的事物(对象)出发来构造软件系统,把对象抽象地表示为系统的类,使得软件系统的组建可以直接映像到客观世界中。
- 开发者希望直接对客观世界进行模拟:定义一个类,对应客观世界的哪种事物;业务需要关心这个事物的哪些状态,程序就为这些状态定义成员变量;业务需要关心这个事物的哪些行为,程序就为这些行为定义方法。
- 面向过程:吃(猪八戒,西瓜);面向对象:猪八戒.吃(西瓜);
- 封装:将对象的实现细节隐藏起来,通过一些公用方法来暴露该对象的功能
- 继承:是面向对象实现软件复用的重要手段,当子类继承父类后,子类作为一种特殊的父类,将直接获得父类的属性和方法
- 多态:子类对象可以直接赋给父类变量,但运行时依然表现出子类的行为特征,这意味着同一个类型的对象在执行同一个方法时,可能表现出多种行为特征;Person person = new Girl();
- 抽象:忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面,抽象并不打算了解全部问题,而只是考虑部分问题
- 判断一门语言是否面向对象可以使用继承和多态来加以判断;“面向对象”和“基于对象”都实现了封装的概念,但“面向对象”实现了继承和多态,而“基于对象”则没有
2、UML(统一建模语言)介绍
- UML是一种定义良好、易于表达、功能强大且普遍使用的建模语言,它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的关键开发全过程
- 常用UML图包括:用例图、类图、组件图、顺序图、活动图和状态图等
- 类和对象:
- 类:具有相同或相似性质的一组对象的抽象,类是对一类事物的描述,是抽象的、概念上的定义
- 对象:实际存在的该类事物的个体,也称为实例
- 对象的抽象化是类,类的具体化就是对象(也叫实例)
- 类(class)用来描述一系列对象,概述每个对象应包括的数据和行为特征