• 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接轨

     

     

     

  • 相关阅读:
    暑假集训D17总结
    [NOI2014]魔法森林
    暑假集训D16总结
    [繁华模拟赛]Evensgn 剪树枝
    暑假集训D15总结
    Openjudge-计算概论(A)-数组顺序逆放
    Openjudge-计算概论(A)-整数的个数
    Openjudge-计算概论(A)-1的个数
    Openjudge-计算概论(A)-求一元二次方程的根
    Openjudge-计算概论(A)-与7无关的数
  • 原文地址:https://www.cnblogs.com/gzoof/p/5430825.html
Copyright © 2020-2023  润新知