疯狂java02

第二章 面向对象的理解

java语言是纯粹的面向对象语言,因为它支持面向对象的三个基本特征,继承,多态,封装。

面向对象的方式实际由OOA(面向对象分析),OOD(面向对象设计),OOP(面向对象编程)三个部分有机组成,其中OOA和OOD主要是统一采用UML来描述记录。

面向对象

当今软件开发领域主要有两种开发方式:

  1. 面向对象开发 如:java,python
  2. 面向过程开发 如 C ,Basic

结构化程序设计简介

这种设计主要原则是自顶向下,逐步求精,模块化。

优点:

1、整体思路清楚,目标明确。

2、设计工作中阶段性非常强,有利于系统开发的总体管理和控制。

3、在系统分析时可以诊断出原系统中存在的问题和结构上的缺陷。

缺点:

1、用户要求难以在系统分析阶段准确定义,致使系统在交付使用时产生许多问题。

2、用系统开发每个阶段的成果来进行控制,不能适应事物变化的要求。

3、系统的开发周期长。


程序三种基本结构

  1. 顺序结构:程序从入口a处开始,按顺序执行所有操作,直到出口B处,称为顺序结构。疯狂java02

  2. 选择结构:程序需要处理某些特定条件选择其中一个分支执行

    1. 单选择:程序从a处开始,执行到条件判断,如果判断结构为true时执行S1内容,然后在执行到b处结束,反之直接执行b处介绍疯狂java02
    1. 双选择:程序从a处开始,执行到条件判断,如果true则执行S1内容,然后执行到b处结束,反之为false时执行S2内容,然后到b处结束程序。疯狂java02
    1. 多重选择:从a处开始执行,当条件1满足时执行S1,不满足时进入条件2判断,如果满足执行S2,不满足进入条件3,一侧类推,如果所有的分支条件都不满足之间调到b处结束疯狂java02

循环结构

循环结构表示程序反复执行某个或者某些操作,直到条件为假(或者为真)时才停止。

循环结构基本形式有两种:

  1. 当型循环:从a处开始,执行循环条件判断,满足时候执行循环体S,一直循环到条件不满足时,跳出循环到b处结束疯狂java02
  1. 直到型循环:从a处开始,先进入循环执行一次,然后执行到循环判断,满足时继续执行循环直到条件不满足在b处结束(这种循环最少执行一次循环)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传疯狂java02

虽然java是面向对象语言,但java方法则是一种结构化的程序流。


面向对象程序设计简介

优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护

缺点:性能比面向过程低

  1. 易维护:每个开发人员只需要维护自己所负则的那个类的功能字段和方法的定义和扩展就OK了。

  2. 易复用:对象与对象之间相互独立,功能与对象之前的耦合性小。

  3. 易扩展:对象的属于与方法扩展性强。

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


面向对象的三大特征

封装:将对象的实现细节隐藏起来,然后提供一些公用的方法来暴露对象的功能。

继承:是一种实现软件复用的手段

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

基于对象:不能继承,更谈不上多态.

面向对象:封装,继承,多态


UML(统一建模语言)

略。。。


java面向对象特征

  1. 一切都是对象:
  1. 对象具有状态,一个对象用数值来描述它的状态。

  2. 对象实现了数据和操作的结合

  3. java里的对象都具有唯一性

  1. 类和对象:

    1. 类:类是现实世界在计算机中的反映,它将数据和对这些数据的操作封装在一起(并没有开空间)
    2. 对象:类的实例(占有实际的空间)

    个人理解:

    1. 类相当于盖楼房的图纸一样,虽然定义了有哪些成员,但并没有实际的空间
    2. 类可以实例化出多个对象(使用一张图纸盖多个同样的房子),实例化出的对象占有实际空间
  2. 对象:类的实例(占有实际的空间)

个人理解:

  1. 类相当于盖楼房的图纸一样,虽然定义了有哪些成员,但并没有实际的空间
  2. 类可以实例化出多个对象(使用一张图纸盖多个同样的房子),实例化出的对象占有实际空间