面向对象编程的思考

刚开始接触php和网页编程不久,对于这方面的领悟不多。这篇文章就整理一下之前接触Java时的对于面向对象编程的一些思考吧。

在刚接触编程的时候,感觉无论是面向过程还是面向对象编程都没有什么区别,因为都是要去把各个方法的具体代码实现出来。而在接触过基本的网络通信,加上一些简单的程序练习之后,面向对象的方法在编程中的优势就渐渐体现出来。

在网络通信中,一个很明显的特点便是分层。在各层实现不同的功能,而由专门的接口来实现不同层之间的连接交流。


(图片来自网络,TCP/IP参考模型)

各层在实现自己具体功能,不去考虑与别的层是如何工作以及他们之间如何通信。

而在面向对象编程中,和网络通信类似,更先去考虑的是对象(类)与对象之间的关系,其暴露在外面的接口,而把其具体实现方法的代码放在各个对象里面去实现。例如在写坦克大战中,先抽象出其中主要的几个对象(类):坦克,子弹,墙。在主框架中生成其对象,使用继承、接口确定各个对象之间的关系。之后去各个对象的具体代码里实现其属性,方法。因而在实际编程中可以减少很多花费在修改、维护上的代码(如直接使用对象的set()方法修改各个对象的属性值),对象的重复使用也能很大的减少创建对象时的代码量(如在new不同对象时传递进不同的属性)。

以上就是在学习过程中对于面向对象的一点思考,随着以后接触到的代码量的增加,对于这种思想,特别是封装、继承、多态三个主要特性会有更多不同甚至相反的理解。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值