混合过程和面向对象的编程

时间:2009-05-13 11:44:25

标签: objective-c oop programming-languages

所以,很久很久以前我曾经在程序上首先使用Basic编写我的第一个BBC模型B,然后在大学中使用少量Pascal以及沿途组装。

然后来了OO,它看起来更加明智,这就是我使用C ++,Perl,Java,Ruby ......

在iPhone上大约8年左右的休息之后回归编程非网络内容我发现Objective C非常容易上手但是现在又一次不得不退出Objective C并回到原来的旧版本C表示低级别的东西,那就是它再次回到程序编程。

我所追求的是关于如何混合面向对象和程序样式,如何进行内存管理,是否将程序部分包装在对象等中的良好指南。

对于C的良好程序风格来说,一个很好的基本指南也会有所帮助,因为我似乎甚至无法用程序性的术语来思考。

4 个答案:

答案 0 :(得分:4)

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

当程序员第一次开始学习对象时,就会有一种对象变得疯狂的倾向,当一个简单的内置类型可以做到时,所有东西都会成为对象。每个数字都成为一个类,然后方法在类上扩散,以防它们需要。它可以成为拖延的一种形式,推迟你最终编写能够完成某些工作的代码。

答案 1 :(得分:1)

如果有帮助,只需将您的过程/函数视为静态类方法。你的记忆参考范围有点不同,但并不多。如果将函数限制为仅访问作为参数传递的数据,则更容易,因为您不必弄清楚符号。

编辑:我应该澄清一下我在这里以一般方式说话。我没有做任何iPhone开发,所以我可以就那里的内存访问/管理问题说明具体内容。

答案 2 :(得分:1)

据我所知,面向对象编程实质上是将这些数据上的数据和操作绑定在一起 C ++和Ojective-C提供了已经出炉的机制来帮助你,但你仍然可以自己设法。

许多C库只是将结构指针绑定为OO方法的第一个参数 您可以通过Google搜索“C面向对象编程”找到更多相关信息。

答案 3 :(得分:0)

您不必以程序方式思考。将所有低级别的东西包装成类。您可以使用objective-c ++。