C是面向过程的。主要使用顺序、选择(条件)和循环三种基本结构来编写程序。
objective-C则是面向对象的。对象指的是人能够识别的东西,拥有属性并能接受消息来进行相应的处理。属性是指对象的性质和所具有的信息,消息是指对象和对象之间的信息传递 。
面向对象的编程指的是,以对象作为程序的基本模块来进行软件的分析、设计和开发的一种思考方法。
1.消息的传递
消息是对象之间通信的唯一手段,通过消息协调各个对象之间的消息发送,使其作为一个整体运行,这就是面向对象的软件的运行模式。
2.模块的抽象化
只要构建出来的模型是没有问题的,万物都可以被当作对象处理。但是objective-C和C++一样,并不把数字看作对象。
3.对象的属性
对象的属性一般被定义为指向其他对象的指针,这个指针叫作实例变量或变量。变量可能指向一个空的对象(null),另外变量也不一定必须是一个指针,也可以是数值类型。
对象和对象之间一般是通过一个对象的某个属性是另外一个对象的变量来建立关系的。没有引用关系的两个对象之间无法发送消息。
4.类
把具备相同变量和方法的对象提炼出来,做成一个模板,叫作类。用类创建对象的过程叫做实例化,生成的对象叫做实例对象。
5.模块化
把完成的系统分解成若干个小的模块,先独立开发每个模块,然后再组装成整个软件。模块具备独立的功能,更换时不会影响到其他部分。
模块的What和How思想,What指的是这个模块提供了什么功能。How指的是这个模块如何实现这些功能。