面向对象与面向过程

两者的区别

面向对象是把构成问题事务分解成各个对象,是以功能来划分问题的,是高度实物抽象化;
面向过程就是分析出解决问题所需要的步骤,然后一步步的实现,是自顶向下的变成。
以五子棋为例:
面向对象的思路:
1)黑白双方,这两方的行为是一模一样的;
2)棋盘系统,负责绘制画面;
3)规则系统,负责判定诸如犯规、输赢等。
面向过程的思路:
1)开始游戏    2)黑子先走    3)绘制画面
4)判断输赢    5)轮到白子    6)绘制画面
7)判断输赢    8)返回步骤2    9)输出结果
从网上看到了一个比喻:
用面向过程的方法写出来的程序是一份蛋炒饭,而用面向对象写出来的程序是一份盖浇饭。

面向对象的特点


下面介绍一下面向对象的四个特点:封装、继承、多态、抽象。

  • 抽象
    就是把某一些方法提取出来,得到类或者接口。抽象包括数据抽象和过程抽象。
    数据抽象–>表示世界中一类实物的特征,就是对象的属性,比如鸟有翅膀,羽毛等(类的属性);
    过程抽象–>表示世界中一类事物的行为,就是对象的行为,比如鸟会飞,会叫(类的方法)。
  • 封装
    封装就是把过程和数据包围起来,对数据的访问只能通过特性的界面,如私有变量,用set、get方法获取。
  • 继承
    对象的一个新类可以从现有的类中派生,这个过程称为类继承。派生类可以从父类那里继承方法和实例变量,并且类可以修改或增加新的方法。因此,继承是为了重用父类代码,同时为实现多态性做准备。
  • 多态
    多态是指允许不同类的对象对同一消息做出响应。多态性语言具有灵活/抽象/行为共享/代码共享的优势,很好的解决了应用程序函数同名问题。总的来说,方法的重写、重载与动态链接构成多态性。
      动态链接–>对于父类中定义的方法,如果子类中重写了该方法,那么父类类型的引用将调用子类中的这个方法,这就是动态链接。

参考
面向对象与面向过程的本质的区别
面向对象主要有四大特性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值