iOS语法篇-Objective-C语言初了解

版权声明:允许自己一步一步成长,只要每天都有收获,不求多,只求吸收.交流QQ群:52795427 https://blog.csdn.net/JackJia2015/article/details/79787440

  Objective-C 通常写作ObjC或OC,是扩充C的面向对象编程语言。1980初布莱德·考克斯(Brad Cox)发明Objective-C,1988年前ceo为乔布斯的Next公司获得OC授权,并开发next step开发环境,1996苹果公司收购Next公司,发行cocoa开发环境,为了区分c,所以前缀为NS.
  Objective-C 是一种简单的计算机语言,设计为可以支持真正的面向对象编程。
  Objective-C 通过提供类定义,方法以及属性的语法,还有其他可以提高类的动态扩展能力的结构等,扩展了标准的 ANSI C 语言。类的语法和设计主要是基于 Smalltalk,最早的面向对象编程语言之一


apple



Objective-C:C的超集

Objective-C是C语言的严格超集--任何C语言程序不经修改就可以直接通过Objective-C编译器,在Objective-C中使用C语言代码也是完全合法的。Objective-C被描述为盖在C语言上的薄薄一层,因为Objective-C的原意就是在C语言主体上加入面向对象的特性。

Objective-C代码的文件扩展名

扩展名 内容类型
.h 头文件。头文件包含类,类型,函数和常数的声明。
.m 源代码文件。这是典型的源代码文件扩展名,可以包含 Objective-C 和 C 代码。
.mm 源代码文件。带有这种扩展名的源代码文件,除了可以包含Objective-C和C代码以外还可以包含C++代码。仅在你的Objective-C代码中确实需要使用C++类或者特性的时候才用这种扩展名。

Objective-C语法

Objective-C的面向对象语法源于Smalltalk消息传递风格。所有其他非面向对象的语法,包括变量类型,预处理器(preprocessing),流程控制,函数声明与调用皆与C语言完全一致。但有些C语言语法合法代码在objective-c中表达的意思不一定相同,比如某些布尔表达式,在C语言中返回值为true,但在Objective-C若与yes直接相比较,函数将会出错,因为在Objective-C中yes的值只表示为1。

#import <Foundation/Foundation.h>
int main(int argc, char *argv[]) {

    @autoreleasepool {
        NSLog(@"Hello World!");
    }
   return 0;
}

面向过程

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。 —执行者

面向对象

面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。—-指挥者

例(1):把大象装冰箱有几步??
面向过程:把冰箱打开-把大象放进去-关门
面向对象:创建冰箱对象-冰箱.打开-冰箱.存放-冰箱.关门

例(2):五子棋
面向过程的设计思路就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面每个步骤用分别的函数来实现,问题就解决了。

面向对象的设计则是从另外的思路来解决问题。整个五子棋可以分为 1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负责绘制画面,3、规则系统,负责判定诸如犯规、输赢等。第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的i变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。

猜你喜欢

转载自blog.csdn.net/JackJia2015/article/details/79787440
今日推荐