Java讲义第二章学习笔记

Chapter  2  理解面向对象

2.1   面向对象

 

--2.1.1   结构化程序设计简介

 

  结构化程序设计方法主张按功能来分析系统需求,其主要原则可概括为自顶向下,逐步求精,模块化等。结构化程序设计首先采用结构化分析(Structrued Analysis,即SA)方法对系统进行需求分析,然后使用结构化设计(Structrued Design,即SD)方法对系统进行概要设计、详细设计,最后采用结构化编程(Structrued Program,即SP)方式来实现系统。使用这种SA、SD和SP的方式可以较好的保证软件系统的开发进度和质量。

 

  结构化软件的逻辑示意图:

 

  结构化程序设计的优缺点:

  优点:

    ①整体思路清楚,目标明确。
    ②设计工作中阶段性非常强,有利于系统开发的总体管理和控制。
    ③在系统分析时可以诊断出原系统中存在的问题和结构上的缺陷。
  缺点:
  
    ①用户要求难以在系统分析阶段准确定义,致使系统在交付使用时产生许多问题。
    ②用系统开发每个阶段的成果来进行控制,不能适应事物变化的要求。
    ③系统的开发周期长。
 
--2.1.2   程序的三种基本结构
 
  1.顺序结构:
 
 
  2.选择结构:
 
    双选择结构:
    单选择结构:
    多选择结构:
 
  3.循环结构:
 
--2.1.6   面向对象程序设计简介
 

  面向对象是一种更优秀的的程序设计方法,它的基本思想是使用类、对象、继承、封装,消息等基本概念来进行程序设计。它是从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以现实世界中的事物(即对象)为中心来思考问题,认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的类,作为系统的基本构成单元(而不是用一些与现实世界中的事物相关比较远,并且没有对应关系的其它过程来构造系统),这使得系统可以直接映射客观世界,并保持客观世界中事物及其相互关系的本来面貌。

 

  面向对象方法具有三个基本特征:继承(Inheritance)、封装(Encapsulation)和多态(Polymorphism)。

 

  面向对象还支持如下几个功能:

    •   对象是面向对象方法中最基本的概念,它的基本特点有:标识惟一性、分类性、多态性、封装性、模块独立性好。
    •   类是具有共同属性、共同方法的对象的集合。类是对象的抽象;对象则是类的实例。而类是整个软件系统最小的程序单元,类的封装性将各种信息细节隐藏起来,并通过公用方法来暴露该类对外所提供的功能,从而提高了类的内聚性,降低了对象之间的耦合性。
    •   对象间的这种相互合作需要一个机制协助进行,这样的机制称为“消息”。消息是一个实例与另一个实例之间传递的信息。
    •   在面向对象方法中,类之间共享属性和操作的机制称为继承。已有的类可当作基类来引用,则新类相应地可当作派生类来引用。继承具有传递性。可分为单继承(一个继承只允许有一个直接父类,即类等级为树形结构)与多继承(一个类允许有多个直接父类)。

 

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

具体参照kindle电子书中的软件工程一书。

 

2.3   Java的面向对象特征

 

--2.3.2   类和对象 

  • 具有相同或相似性质的 一组对象的抽象就是类,类是对一类事物描述,是抽象的、概念上的定义;对象是实际存在的该类事物的每个个体,因而也称实例(instance)。
  • 对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象。类是用来描述一系列对象,类概述每个对象应包括的数据,类概述每个对象的行为特征。因此我们可以把类理解成某种概念、定义,它规定了某类对象所共同具有的数据和行为特征。

  类之间主要结构:

    •   一般——特殊结构:也被称为分类结构,这种分类结构关系就是典型的继承关系,Java语言使用extends关键字来表示这种分类结构,Java的子类是一种特殊的父类。因此这种一般——特殊的结构关系其实是一种“is a”关系。
    •   整体——部分结构:也被称为组装结构,这种分类关系就是典型的组合关系,Java语言通过在一个类里保存另一个对象的引用来实现这种组合关系,因此这种整体——部分结构关系其实是一种“has a”关系。

 

posted on 2020-07-16 15:12  lfw123  阅读(122)  评论(0编辑  收藏  举报

导航