面向对象和面向过程的差别

面向对象

面向过程

对象、继承(数据和行为的共享)、类(实体的属性和行为)等。实体和行为封装在一起实现抽象

任务分解(函数-模块),顺序执行,每个函数或过程完成特定/部分任务

关键概念

封装、继承、多态、类、接口、调用

函数-模块,顺序执行,全局变量,局部变量

数据处理方式

通过封装保护数据并控制访问,使用对象属性或方法完成数据处理

使用全局变量或指针,通过传统参数的方式处理数据

继承实现方式

通过继承实现代码复用,子承父类的属性和方法,并在此上扩展修改

使用一个函数或过程实现代码复用,无显式的继承概念

程序结果

由对象组成,每个对象之间进行交互和通信,程序控制流程更灵活

线性/顺序执行,函数调用实现流程控制

常用语言

C++、Java、PHP、Smalltalk

C、Fortran(科学和工程计算领域)

具体案例:学生到校报道注册

1、哪些动作由哪些实体发出

学生提出报名,学生缴费,机构收费,教师分配教室,班级增加信息

实体:学生、机构、教师、班级

2、定义这些实体为其增加相应属性和功能

属性(实体的特征表现,人的属性有姓名、性别等,手机属性有品牌、价格、待机时间等),动作/功能(人学习、缴费,手机看电影等)

3、实体执行相应功能或动作

学生提出报名、学生缴费、学校收费、教师分配教室、班级增加学生信息

按步骤依次执行(弄清详细实现过程)

  1. 学生提出报名,提供个人资料。Insert登记表values(姓名、年龄等)
  2. 学生缴费。Update学生表money减少,学校表money增加
  3. 老师给学生分配班级。Update学生表,设置班级ID
  4. 班级增加学生信息。Update班级表总人数增加,添加学生信息

你可能感兴趣的:(系统,c++,c语言,java)