疯狂Java讲义(第四版)第二章读书笔记

第二章 理解面向对象

​ 面向对象三种特征:继承(父子继承)、封装和多态(一个函数名,调用层次不同,调用方法不同)。

Java完全支持通过对象、类、继承、封装、消息等基本概念来进行程序设计。

​ 面向对象方式组成部分:OOA(面向对象分析)、OOD(面向对象设计)、OOP(面向对象编程)。

  • 2.1 面向对象

    • 2.1.1 结构化程序设计简介

      SA(结构化分析,Structured Analysis)、SD(结构化设计,Structured Design)、SP(结构化编程 Structured Program)

      ​ 采用结构体方式设计的软件系统,整个软件系统就由一个个函数组成,这个软件的运行入口往往由一个“主函数”代表,而主函数负责把系统中的所有函数“串起来”。

      ​ 自顶向下、逐步求精、模块化等。

    • 2.1.2 程序的三种基本结构

      顺序结构、选择结构(单选、双选、多选)、循环结构(当型、直到型)

    • 2.1.3 面向对象程序设计简介

      基本思想:使用类、对象、继承、封装、消息等基本概念进行程序设计。

      成员变量(状态数据)+方法(行为)=类定义

      最小的程序单元是类

    • 2.1.4 面向对象的基本特征

      封装(Encapsulation):将对象的实现细节隐藏起来,然后通过一些公用方法来暴露该对象的功能。

      继承(Inheritance):父子继承,Java只支持单继承。

      多态(Polymorphism):子类对象可以直接赋给父类变量,但运行时依然表现出子类的行为特征。(同一个类型的对象在执行同一个方法时,可能表现出多种行为特征)

      面向对象与基于对象。(关注是否含有以上三个基本特征)

  • 2.2 UML(统一建模语言)介绍

    ​ UML是用于描述、记录OOA和OOD结果的符号表示法。

    • 2.2.1 用例图

      用例图用于描述系统提供的系列功能,而每个用例则代表系统的一个功能模块。

    • 2.2.2 类图

      类图是最古老、功能最丰富、使用最广泛的UML图。类图表示系统中应该包含哪些实体,各实体之间如何关联。

      类之间的三种基本关系:关联(包括聚合、组合)(单向关联、双向关联、多重性)、泛化(与继承相同)、依赖

    • 2.2.3 组件图

      组件图提供系统的物理视图,它的用途是显示系统中的软件对其他软件组件(例如,库函数)的依赖关系。

    • 2.2.4 部署图

      部署图用于描述软件系统如何部署到硬件环境中,它的用途是显示软件系统不同的组件将在何处物理运行,以及它们将如何彼此通信。

    • 2.2.5 顺序图

      顺序图显示具体用例(或者是用例的一部分)的详细流程,并且显示流程中不同对象之间的调用关系,同时还可以很详细地显示对不同对象的不同调用。

    • 2.2.6 活动图

      活动图和状态机图都被称为演化图,

      活动图:用于描述用例内部的活动或方法的流程,如果除去活动图中的并行活动描述,它就变成流程图。

    • 2.2.7 状态机图

      状态机图:描述某一对象生命周期中需要关注的不同状态,并会详细描述刺激对象状态改变的事件,以及对象状态改变时所采取的动作。(状态机图表示某个对象所处不同状态和该类的状态转换信息)

  • 2.3 Java面向对象特征

    • 2.3.1 一切都是对象

    • 2.3.2 类和对象

      一般到特殊关系:is a extends

      整体到部分关系:has a

  • 2.4 本章小结

你可能感兴趣的:(Java)