Objective c 混合过程编程和面向对象编程

Objective c 混合过程编程和面向对象编程,objective-c,oop,programming-languages,Objective C,Oop,Programming Languages,所以,很久很久以前,我用Basic在我的第一台BBC B型电脑上按程序进行编程,然后在大学里用少量的Pascal进行编程,并在编程过程中进行组装 然后,OO看起来更明智,我用C++,perl,java,露比……/p> 在iPhone上运行了大约8年后,我发现Objective C非常容易学习,但时不时地不得不放弃Objective C,回到普通的旧C来学习低级的东西,这就是它再次回到过程编程的地方 我想要的是一个很好的指南,关于如何混合面向对象和过程的风格,如何进行内存管理,是否将过程部分封装在

所以,很久很久以前,我用Basic在我的第一台BBC B型电脑上按程序进行编程,然后在大学里用少量的Pascal进行编程,并在编程过程中进行组装

然后,OO看起来更明智,我用C++,perl,java,露比……/p> 在iPhone上运行了大约8年后,我发现Objective C非常容易学习,但时不时地不得不放弃Objective C,回到普通的旧C来学习低级的东西,这就是它再次回到过程编程的地方

我想要的是一个很好的指南,关于如何混合面向对象和过程的风格,如何进行内存管理,是否将过程部分封装在对象中等等


另外,一个很好的C语言程序风格的基本指南也会很有帮助,因为我似乎再也不能用程序的方式来思考了。

你不必用程序的方式来思考。将所有低级别的内容封装到类中。您可以使用objective-c++

如果有帮助,只需将您的过程/函数看作静态类方法即可。内存引用的范围略有不同,但差别不大。如果您将函数限制为仅访问作为参数传递的数据,那么就更容易了,因为您不必找出符号


编辑:我应该澄清一下,我在这里讲的是一般性的。我没有做过任何iPhone开发,所以我可以谈谈关于内存访问/管理的细节。

我的建议是使用面向对象编程作为实现的最高层次的组织和过程编程。OO最擅长定义接口、组件之间的契约、将代码划分为连贯的块等


当程序员第一次开始学习对象时,有一种倾向是对对象发狂,当一个简单的内置类型可以做的时候,把眼前的一切都变成一个对象。每一个数字都成为一个类,然后方法在类上增殖,以备需要。它可能会成为一种拖延,延迟您最终开始编写代码的时间。

据我所知,面向对象编程本质上是将这些数据上的数据和操作联系在一起。
C++和OjEdvE-C提供了已经被烘烤的机制来帮助你,但是你仍然可以自己去做。 许多C库只是将结构指针绑定为OO方法的第一个参数。

您可以通过谷歌搜索“C面向对象编程”来找到更多关于这方面的信息。

这里有一个类似的问题和示例,