【面向对象语言系列】数据结构(Java描述)

什么是数据结构

数据类型(从存储层次上)

  1. 基本数据类型(atomic data type)
  2. 结构型数据类型(structure data type)
  3. 抽象数据类型(Abstract Data Type,ADT)

结构化程序设计

结构化程序设计的方法

传统程序设计的方法=由下而上的设计+由上而下的设计

  1. 由下而上/自下而上的设计:先编写整个程序需求中最容易的部分,再逐步扩大来完成。
  2. 由上而下/自上而下的设计:将整个程序需求从上而下、由大到小逐步分解成较小的单元(“模块”), 随后针对各模块分别开发。每一个模块会完成特定的功能,主程序则组合每个模块后,完成最后要求的功能。

结构化程序设计的方法=由上而下的设计+模块化设计

  1. 由上而下/自上而下的设计:(略)
  2. 模块化设计
    模块(module)/过程(procedure)/函数(function)

结构化程序设计的控制流程=顺序结构+选择结构+重复结构

  1. 顺序结构:逐步编写程序语句
  2. 选择结构:根据某些条件做逻辑判断
  3. 重复结构:根据某些条件决定足否充复执行某些程序语句

(结构化程序设计/面向过程的程序设计)目的:可减轻设计者负担、可读性较高,便于日后维护。
(结构化程序设计/面向过程的程序设计)缺陷:一旦主程序要求的功能变动时,则可能许多模块内的数据算法都需要同步变动——面向过程的设计/结构化程序设计无法有效使用程序代码的主要原因。

面向对象程序设计

类与对象

类/对象=属性+方法+事件

  1. 属性(attribute):对象的静态外观描述。
  2. 方法(method):是指对象中的动态响应方式。
  3. 事件(event):指对象可以针对外部事件做出各种反应;对象也可以主动地发出事件信息。
抽象类

“抽象化”:将代表事物特征的数据隐藏起来,并定义一些方法来作为操作这些数据的接口,让用户只能接触到这些方法,而无法直接使用数据。
抽象类(abstract class):至少包含一个完整方法及一至多个抽象方法的“基类”。

  • 抽象方法:使用保留字“abstract”来声明,并且不加入任何内容叙述的成员方法。

面向对象程序设计的特性(共3种)

面向对象程序设计的特性=封装性+继承性+多态性

  1. 封装性:利用“类”来实现“抽象数据类型”(ADT)。
    “抽象”:隐藏代表事物特征的数据,并定义一些方法来作为操作这些数据的接口,为了实现信息隐藏的目的,让用户只能接触到这些方法,而无法直接使用数据。
    “抽象数据类型”:面向对象程序设计中自定义的数据类型。
  2. 继承性:定义一个新的类来继承既存的类,进而使用或修改继承而来的方法, 并可在子类中加入新的数据成员与函数成员。
    “基类”或“父类”:在继承关系中的被继承者。
    “派生类”或“子 类”:在继承关系中的继承者。
  3. 多态性/同名异式:让具有继承关系的不同类对象,可以调用相同名称的成员函数,并产生不同的反应结果。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值