首页 > 代码库 > 《OC疯狂讲义》笔记(一)

《OC疯狂讲义》笔记(一)

1、OC简介
 
    Objective-C    继承自C和smalltalk
 
    最小程度增加了面向对象的部分,是一门面向对象编程语言
 
    1986. Next 得到授权
 
    关于 Cocoa 框架(96)
 
        Cocoachina.com  
        code4app.com
 
 
 2、OC HelloWorld
 
    OC的文件有哪几种?
 
    .h  头文件(声明类)
    .m  OC源文件(类的实现)
   
    #import <Foundation/Foundation.h>  //导入文件
 
    //main函数是OC得主入口函数
    int main(){
 
        NSLog(@"Hello World!");
        return 0;


    }


    1)NSLog的使用
 
      NSLog()  特点:
                  1)OC中的日志输出函数,
                  2)自动换行
                  3)带有时间戳
                  4)输出OC的特有的类型 %@(NSString)
                  5)在使用NSLog的时候,在格式控制字符串的末尾加上一个\n是不起作用
 
     printf    特点:
                  1)不能自动换行
                  2)不能打印OC中的字符串
 
   2)@符号的使用
 
      1)@""   表示OC中的字符串
      2)@特殊单词  OC的关键字
 
   3)NS 前缀的说明
 
      NextStep --> Next Software
 
 3、OC对比C快速入门
 
    1) 源文件的差异
 
    2)数据类型
 
       block   块
 
       id  万能指针
  
       BOOL YES/NO   1/0
 
       SEL  选择器
 
       Boolean 布尔类型 true/false  1/0
 
    3)关键字和标示符
  
       @xxx
 
    4)语句结构(分支和循环)
 
       oc 增强型for循环
       forin(快速枚举)
       for(NSString *str  in arr){
 
              str 每次存放的值是不一样的
       }


    5)函数对比
 
       C 函数:功能相对独立的代码段
        void test(int x){
 
        }
 
       OC 方法:功能相对独立的代码段
 
        1)对象方法
           - 开头
           对象调用
        
         -(返回值类型) 方法名;
         -(返回值类型) xxx:(参数类型) 形参名;
          对于有参数的方法来说,方法名是:"xxx:"
 
        2)类方法
 
          + 开头
          类名取调用
 
    6)逻辑类型
 
        BOOL / Boolean


 4、面向对象编程
 
    面向对象是面向过程而言
    面向对象是基于面向过程
    面向对象和面向过程,都是一中编程思想
 
    面向对象:
  
          首先是把功能封装到对象中
          完成一个事情,需要多少个对象来做
 
    面向过程:
          完成一件事情,需要哪些步骤
    类和对象
 
    类:一类事物的特征的抽象
    对象:满足类的特征的一个个体
 
    一个类可以创建多个对象
 
    类的提取
       名词提炼法


    类的创建步骤:
 
    1)类名
    2)类的属性(实例变量、成员变量)
    3)行为(方法)
 
 5、第一个OC类
 
    类的使用:1)声明一个类    2)实现一个类
  
    类的声明:(定义属性和声明方法)
 
    @interface 类名 : 父类名
    {
        //类的属性的定义
     }
    //类的方法声明
    @end
 
    类的实现:(方法的实现)
    
    @implementation 类名
    @end


    对象方法的定义:
 
     -(返回值类型) 方法名;
     
     -(返回值类型) xxx:(参数类型) 形参名;
     
     对于有参数的方法来说,方法名是:"xxx:"
 
     -(返回值类型) xxx:(参数类型) 形参名  andXXX:(参数类型) 形参名; 
 
     方法名:      xxx:                andXXX:
   
     [对象名 xxx:实参1 andXXX:实参2];
 
    方法的调用
     [对象名 方法名];   //调用无参方法
     [对象名 方法名:实参];


 6、对象的存储细节
 
    对象的创建:
    Student 类
    [Student new];
    1)申请存储空间
    2)给类的成员变量初始化(基本数据类型 0 ,NSString null)
    3)返回申请的内存空间的首地址(8个)
 
    //1)创建了一个Student 类型的 指针变量 stu
    //2)使用Student 类创建了一个对象 stu
    Student *stu = [Student new];
    sizeof(stu);   //8
 
 7、对象方法和函数之间的区别
 
    对象方法有归属,方法是属于某一个对象
    每个对象只能调用字节对象方法
    所有函数都是平行的
    只要先声明函数,我可以在任何函数中调用其他函数
 
 8、创建类的时候,常见的错误
    调用了一个 只是定义而没有实现的方法,会报错!

《OC疯狂讲义》笔记(一)