黑马程序员——ios基础---Objective-C:基础语法

来源:互联网 发布:桌面美女跳舞软件 编辑:程序博客网 时间:2024/05/19 12:15

一、OC概述: 

1、Objective-C 继承自Csmalltalk 最小程度增加了面向对象的部分,是一门面向对象编程语言


2、OC HelloWorld OC的文件有哪几种? 

.h 头文件(声明类) 

.m OC源文件(类的实现) 

main函数是OC得主入口函数 

    1)NSLog的使用 

3、import和include的区别 

include  import 都是引入头文件 

import引入的头文件,可以防止重复包含 

include它是使用预处理指令防止重复包含,如果没有写预处理指令,则无法防止重复包含问题 

 

4、NSLogprintf使用的差异 

     1NSLog 会自动换行  printf不会自动换行 

     2NSLog 会自动输出时间等项目信息,printf不会输出调试信息 

     3NSLog 函数的参数是一个NSString 对象,printf是一个字符串常量指针 

5、@符号的使用 

     1)@"" 表示OC中的字符串 

     2)@特殊单词 OC的关键字 

     3)NS 前缀的说明  

6OC对比C快速入门 

    1源文件的差异 

    2)数据类型 

        block  

        id 

        BOOL YES/NO 

        SEL 选择器 

        Boolean 布尔类型 true/false 

    3)关键字和标示符 

     带@的和一些需要记得类似于id指针。

    4)语句结构(分支和循环) 

    oc 增强型for循环 forin(快速枚举) 

    5)逻辑类型 

    BOOL / Boolean 

二、类、对象、方法

1、面向对象编程 

面向对象是面向过程而言 

面向对象是基于面向过程 

面向对象和面向过程,都是种编程思想 


 2、面向过程 

强调的是功能行为 

关注的是解决问题需要哪些步骤 

 

3、面向对象 

将功能封装进对象,强调具备了功能的对象 

关注的是解决问题需要哪些对象 

面向对象是基于面向过程的。 

 

4、类和对象 

:一类事物的特征的抽象 

对象:满足类的特征的一个个体 

一个类可以创建多个对象 


5、对象的存储细节  

   [Car new]; 

    1申请存储空间 

    2) 给类的成员变量初始化(基本数据类型 0 ,字符串NSString null) 

    3) 返回申请的内存空间的首地址(8个字节) 

 

6、对象方法和函数之间的区别 

    

1)所有的函数都是平行的  

2)函数不存在隶属关系  

3)使用的时候可以直接调用  

4)不可以访问对象中的成员变量 

5)对象方法有归属,方法是属于某一个对象 

6)每个对象只能调用自己对象方法 

7)只要先声明函数,我可以在任何函数中调用其他函数 

 

7、对象和方法之间的关系 

    (1对象作为方法的参数 

       Person *p = [Person new]; 

       Person *p1 = [Person new]; 

        -(void)test:(Person *) person; 

        [p test:p1];//p1-----> person 

 

    (2对象作为方法的返回值 

       -(Person *)test1 

       { 

             

           Person *p3 = [Person new]; 

            p3->_name = @"Cgx"; 

            return p3; 

       } 

   

       Person *p4 = [p test1]; 

 

8、对象作为方法的参数,连续传递 

    1枪作为方法的参数 

        -(void)fireByGun:(Gun*) gun; 

        -(void)fireByGun:(Gun*) gun  { 

           [gun shoot]; 

       } 

 

    2增加了子弹的类 

        -(void)fireByGun:(Gun *) gun andBullet:(Bullet *) bullet; 

        -(void)fireByGun:(Gun *) gun andBullet:(Bullet *) bullet 

       { 

           [gun shoot:bullet]; 

       } 

     

        -(void)shoot:(Bullet *)bullet; 

        -(void)shoot:(Bullet *)bullet 

       { 

       bullet->_bulletCount --; 

       } 

 

9NSString的使用 

    1)OC中又专门的字符串处理的类(有字符串类型) NSString 不可变的字符串 

    2)NSMutableString 可变字符串 

    3)NSString OC字符串的类 

    4)格式化字符串(拼接) 

        stringWithFormat 字符串连接 

        NSString *str1="itcast"; 

        NSString *str2 = [NSString stringWithForamt:@"welcome to %@",str1]; 

    5)计算NSString的字符串的长度  

        NSString *str5 = @"abc"// 3

        NSString *str6 = @"传智播客xy"; //6 

 

10、多文件开发 :提高代码的可读性 

        C的模块化开发把功能相似的函数,写到同一个文件中 

        .h 函数声明 

        .c 函数的实现 

 

        OC 模块化开发把功能不同的类放到不同的文件中 

        .h 类的声明 

        .m 类的实现 (方法的实现) 

 


0 0
原创粉丝点击