面向对象和面向编程的区别

学过java之后,有天有人问我什么是面向对象,一脸懵逼,不知道怎么说,可能是没理解透彻吧,最后看网上搜的说了很多台官方的话,都扯到了万物皆对象等等了,我想说,如果是个大牛,这么说还好,就像寺院里的禅师你去问他,他说空即是色,色即是空,你会感觉,哇,厉害了。可如果是新来的小和尚,他这么回答那就要让人不满意了,如果是小白这么多面试官是不会喜欢的,总要总结出自己对它的看法吧,所以今天就来发表一篇博客,希望对大家能有帮助。


例如设计一个象棋:面向过程的思路就是首先分析问题的步骤:
1.开始游戏;
2.黑子先走;
3.绘制棋盘画面;
4.判断输赢;
5.白子走;
6.绘制棋盘;
7.判断输赢;
8.返回到步骤2;
9.输出最后的结果;
就这样一步步的实现,问题就解决了;这种方式往往是不推荐的,当如果后期再改的话,会非常非常的麻烦。


而面向对象则是从另外一个思路来设计解决问题:
1.玩家系统:黑白ABCD都是玩家,所以属性,步骤功能一样;
2.绘制棋盘系统;
3.规则系统:决定哪个先走,判断输赢等操作;
可以看出面向对象是以功能来划分,而不是步骤,黑子落棋后通知白棋棋盘发生变化,绘制棋盘系统就开始把变化绘制出来,规则系统则判定结果;赢了则返回,否则由白字继续走;


  

  面向对象:是抽取某一类事物共同的属性,将共同的属性和行为按功能集合。

  面向过程:更注重的是代码的实现,以及内部的细节。


  一个项目刚接到手,那就开始想了一遍就开始去写代码,这种就是面向过程,你会发现写着写着就遇到了问题,又要重新去整思路,面向对象是接到之后先去分析,用到了哪些对象,以及这些对象该拥有的属性的方法,然后可以先搭建流程,只有方法的声明而没有具体的实现。

如果有什么不对的,欢迎在评论区指教。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值