我学了C语言,他是面向过程的。
我在学习面向对象时,发现和面向过程思考问题很多地方不一样,考虑现实中的问题。请大家说一下你们是怎么思考面向对象的问题。谢谢大家
C是面向过程的语言,在代码中定义的方法一般是一直调用;而在面向对象的语言(如Java)或基于面向对象的语言(如JavaScript),方法都定义在对象上或者类上(ps:js中对类并没有明确的说法)。譬如,有一个比较大小的方法:
在C语言中:
在Java中
上面一个简单的示例,是为了区分一下面向过程和面向对象针对同一个问题的不同思维方式。虽然这里看不出面向对象的突出点,但是在实际项目中,方法是非常多的,有很大的编码量。在这种情况下,类就能很好的对代码进行组织,譬如一个用户有吃饭、走路、睡觉、娱乐等不同行为。
在C语言中,实现可能是这样的:
而在面向对象的语言中,实现可能是这样的:
很明显,面向对象对代码结构进行了很好的组装,让人更容易理解。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。