JavaSE第八章 面向对象

面向对象和面向过程

1. C、C++、Java

  • 对于C语言来说,是完全面向过程的
  • 对于C++语言来说,是一半面向过程,一半面向对象(C++是半面向对象的)
  • 对于Java语言来说,是完全面向对象的

2. 什么是面向过程

2.1 面向过程开发方式的主要特点

  • 注重实现功能的步骤
    第一步
    第二步
  • 注重实现功能的因果关系
    因为A所有B
    因为B所以C
    因为C所以D
  • 面向过程中没有对象的概念,以“我”为中心,只有实现这个功能的步骤以及因果关系
  • 面向过程主要关注的是:实现步骤以及整个过程

2.2 面向过程开发方式的缺点

  • 耦合度高,扩展力差(耦合度高导致扩展力差)
  • 面向过程最主要是每一步与每一步的因果关系,其中A步骤因果关系到B步骤,A和B联合起来形成一个子模块,子模块和子模块之间又因为因果关系结合在一起,假设其中任何一个因果关系出现问题(错误),此时整个系统的运转都会出现问题(代码和代码之间的耦合度太高,扩展力太差)

2.3 面向过程开发方式的优点

  • 快速开发
  • 对于小型项目(功能),采用面向过程的方式进行开发,效率较高,不需要前期进行对象的提取,模型的建立,采用面向过程方式可以直接进行开发,继而实现功能

3. 什么是面向对象

  • 面向对象就是将现实世界分割成不同的单元,然后每一个单元都实现成对象,然后给一个环境驱动一下,让各个对象之间协作起来形成一个系统
  • 面向对象成为主流的原因:采用面向对象的方式进行开发,更符合人类的思维方式
  • 面向对象主要关注的是:对象A,对象B,对象C,然后对象ABC组合,或者CBA组合…

3.1 面向对象开发方式的优点

  • (高内聚,低耦合)耦合度低,扩展力强

3.2 面向对象三个术语

  • OOA:面向对象分析(Object-Oriented Analysis)
  • OOD:面向对象设计(Object-Oriented Design)
  • OOP:面向对象编程(Object-Oriented Programming)

4. 面向对象和面向过程的区别

5. 面向对象三大特征

  1. 封装(Encapsulation)
  2. 继承(Inheritance)
  3. 多态(Polymorphism)
  • 任何一个面向对象的编程语言都包括这三个特征

6. 类和对象

  • 类:
    类在现实世界当中实际是不存在的,类是一个抽象的概念;类本质上是现实世界当中某些事物具有的共同特征,将这些共同特征提取出来形成的概念就是一个“类”,“类”其实是一个模板
    类 = 属性 + 方法
    属性来源于:状态
    方法来源于:动作(行为)
  • 对象
    对象是实际存在的个体,对象也被称为实例(instance),对象包括属性与行为
  • 通过类创建对象
    在Java语言中,要想得到“对象”,必须先定义“类”,“对象”是通过“类”这个模板创造出来的个体,这个过程也可以称为实例化
  • 抽象
    从对象到类称为抽象(一个或多个对象具有共同特征,进行抽象形成了类)
    即:多个对象具有共同特征,进行思考总结抽取共同特征的过程
    类 --[实例化]–> 对象(实例)
    对象 --[抽象]–> 类
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jayco-J

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值