OC基本前期准备

 1 Objective-C简介

   Objective-C是一种面向对象的计算机语言

   》OC不是一种新语言,是在C语言基础上增加了一层最小的面向对象语法,完全兼容C语言

   》可以使用oc开发Max OS X平台和IOS平台的应用程序

  • Mac OS X是苹果公司为Mac系列产品开发的专属操作系统,目前搭载这款操作系统的设备有:MacBook、iMac、Mac mini
  • iOS是由苹果公司开发的手持设备操作系统,目前搭载这款操作系统的设备有:iPhone、iPad、iPod touch、iPad mini

 

Objective-C学习过程

   》学习面向对象的思想方法

   》

 Objective-C与C语言的区别

1>源文件的对比

     C语言

     . h是C语言头文件,用于存放函数声明

     . c是C语言源文件,用于实现头文件中声明的方法

     OC语言

     . h是OC语言头文件,头文件包含类,方法,属性的声明

     . m/.mm类的实现文件,参与编译的文件,用来实现类中的方法

 

 #import预处理指令有两个作用:(1)与#include一样,拷贝文件内容(2)可以自动防止文件的内容被重复拷贝

 

C语言执行步骤:

    .c文件->编译(检查语法的合法性)成.o文件 ->链接(将相关的系统函数等其他资源链接起来).out文件(可执行文件)

  OC语言执行步骤

    .m文件->编译(检查语法的合法性)成.o文件 ->链接(将相关的系统函数等其他资源链接起来).out文件(可执行文件) 

 

2>关键字的对比

     C语言的关键字都可以在OC中使用

     基本上所有的关键字都是以@开头的(为了与c语言的关键字区分开来),如      @interface  @implementation  @public等,少部分没有以@开头,如id,_cmd等

 

  注:字符串以@开头

   C语言字符串:“hello” 

  OC语言字符串:@“hello”

  屏幕输出:NSLog(@“hello”);//自动换行

   NSLog(@“age is %d”,2);

 

 

3>数据类型的对比

 

     OC的基本类型:5种,增加了布尔类型

 

     Nil相当于是null,也就是0。

     BOOL       只有两个取值真和假

     NSObject*     OC中的对象类型

     id         动态对象类型,万能指针

     SEL       选择器数据类型

     block     代码块数据类型

  布尔类型的输出一般当做整数来用。

 

 OC中类的定义

  Objective-C是一种面向对象的语言,定义类是它的基本能力。

  那什么是类呢?类是用来描述对象的,它是一系列方法和属性的集合。

  Objective-C的类声明和实现包括两个部分:接口部分和实现部分。

  想要定义方法也就是C语言的函数,那么就必须有类的存在。

 

 

4>流程控制语句对比

  C语言的基本流程控制语句都可以在OC中应用

  if语句

  switch语句

  while语句

  do while语句

  for语句

  break关键字

  continue关键字

 

  OC中有加强for循环,用于快速迭代数组或集合

  for(NSString * name in NSArray){

  NSLog(@"%@",name);

  }

 

5>函数[方法]定义和声明的对比

  C语言中函数的声明和实现

  函数声明:int sum(int a,int b);

  函数实现:int sum (int a,int b){return a+b;}

 

  OC中的方法

  方法的声明:-(int)sum :(int)a and (int)b;

  方法的实现:-(int)sum :(int)a and (int)b{ return a+b;}

  注意:方法只写在类里面,而函数可以写在任何地方

   对象方法:使用对象调用的方法

   类方法:使用类名调用方法

 

6>面向对象新增特征

  封装性

  继承性

  多态性

 

7>面向对象新增语法

  1>属性生成器 @property

  是用来简化代码的

 

  2>分类

  在不修改原有类的情况下新增功能

  分类与继承

  使用分类扩展类,无需子类化

 

  3>协议

  使用协议声明方法

  协议类似于C#,java中的接口

  @protocal

 

  4>fundation框架

  很多工具和方法 工具箱,很重要

  复杂东西变简单

 

8>新增异常处理

  更好的与swift接轨

 

 

 

原文地址:https://www.cnblogs.com/gzoof/p/5430825.html