所以,很久很久以前,我曾经在我的第一个BBC Model B上使用Basic进行程序化编程,然后在大学里使用少量的Pascal以及在此过程中的汇编。
然后出现了OO,它看起来更明智,这就是我在C++,Perl,Java,Ruby.....
在iPhone中断了大约8年后,回到非web编程,我发现目标C真的很容易上手,但有时不得不放弃目标C,回到普通的旧C来处理低级的东西,这就是它再次回到过程编程的地方。
我所追求的是关于如何混合面向对象和过程化风格,如何进行内存管理,是否将过程化部分包装在对象中等等的很好的指南。
另外,一个好的C的过程风格的基本指南也会很有帮助,因为我似乎已经不能再从过程的角度来思考了。
发布于 2009-05-13 12:21:02
我的建议是使用面向对象编程作为最高级别的组织和过程编程来实现。OO最擅长定义接口、组件之间的契约、将代码划分为连贯的块等。
当程序员第一次开始学习对象时,有一种倾向是疯狂地使用对象,使看得见的一切都成为对象,而简单的内置类型就可以做到这一点。每个数字都变成一个类,然后方法在类上扩散,以防万一需要它们。它可能成为一种拖延症,延迟了你最终开始编写代码的时间。
发布于 2009-05-13 11:54:44
如果有帮助,只需将您的过程/函数视为静态类方法。内存引用的作用域略有不同,但不是很多。如果您将您的函数限制为只访问作为参数传递的数据,那么就更容易了,因为您不必弄清楚符号。
编辑:我应该澄清的是,我在这里谈论的是一般的方式。我没有做过任何iPhone开发,所以我可以在那里谈到关于内存访问/管理的细节。
发布于 2009-05-13 13:22:42
据我所知,面向对象编程本质上是将数据和对这些数据的操作捆绑在一起。
C++和Ojective-C提供了一些已经成熟的机制来帮助你,但是你仍然可以自己去做。
许多C库只是绑定一个结构指针作为OO方法的第一个参数。
你可以通过谷歌搜索"C面向对象编程“来找到更多关于这个问题的信息。
https://stackoverflow.com/questions/857491
复制相似问题