黑马程序员-5-Objective-C学习笔记(OC的初步认识)
黑马程序员-5-Objective-C学习笔记(OC的初步认识)
明天过后1 发表于3年前
黑马程序员-5-Objective-C学习笔记(OC的初步认识)
  • 发表于 3年前
  • 阅读 41
  • 收藏 1
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

摘要: OC简介,面向对象编程( OOP ), 语法特点, Foundation框架简介

---------------------- Java培训.Net培训Android培训IOS培训、期待与您交流! ---------------------- 

1. 简介

    (1) Objective-c( OC )是在c语言基础上增加了一层面向对象的语法,对于OC对象本质是C语言结构体。

      (2) OC完全兼容C语言,但要注意的是源文件的扩展名为.m

      (3) 如果要兼容C++扩展名为.mm

      (4) OC可以开发 Mac OS X平台和IOS平台的应用程序

      (5) OC文档存放位置 :  /Applications/Xcode.app/Contents/Developer/ 

      (6) 随着IOS移动设备的普及OC的受欢迎度也逐年升高。

             


2. 面向对象编程( OOP )

    a. 面向过程 和 面向对象

           (1) 面向对象是一种思维方式,面向对象编程是利用这种思维方式来进行开发,当然也需要面向对象语言的支持。

           (2) 面向对象是由面向过程演化而来的。如果用面向过程的思维来完成一件事,比如起床上学。

                面向过程 :

                    第一步 : 起床叠被子

                    第二步  : 换衣服刷牙

                    第三步 : 做早饭吃早饭

                    第四步 : 骑车上学

                            它的好处是清晰,简单,但如果某些地方需要改变,起床好的叠被子放在什么地方,今天需要穿什么衣服,今天煮的早饭是什么等等。如果变成代码的话就很难维护。一个地方要改可能很多地方都要改。

                     而且实际开发中项目都比较大,如果用面向过程的思维来开发的话,会大大增加开发的难度,为了解决这个问题面向对象编程就产生了。

                面向对象 :

                    我们可以把上述事件都集中在一个人身上,并为这个人声明者几种行为 :

                    学生{

                        叠被子的功能;

                        洗刷功能;

                        做早饭吃早饭功能;

                        骑车上学的功能;

                    }

                            他的好处是易于维护。因为我们使用这些功能的时候并不关心他的实现功能是如何的,只关心他提供的功能,置于要获得实现效果可以向这个对象调用,这样通过这个对象可以降低这件事情过程中环节                        之间的耦合性,比如今天要求做什么早饭,我们只需要在做早饭那个模块中修改即可,并不影响其他功能。显示开发中对象成千上万,面对不同的需求我们只关需要把注意力集中在该对象中即可,只要不改变该对                        象的结构只修改对象的某些功能实现并不影响整体的稳定性。

    b. 总结

        OC也是一种面向对象的编程语言,因此了解面向对象思想是非常重要,而且OC中为了更好地发挥面向对象编程的好处,提供了协议这种特性,这类似于java中的接口,大大提高代码的可维护性。

3. 语法特点

    (1) 基本上所有关键字都是以@开头 :

        @interface、@implementation、@end 

        @public、@protected、@private、@selector 

        @try、@catch、@throw、@finally  

        @protocol、@optional、@required、@class

        @property、@synthesize、@dynamic

        self、super、id、_cmd、__block、__strong、__weak、

    (2) 字符串表示方法 :

        C 语言 : "hello world"            输出 : printf("%s","hello world");

        OC : @"hello world"                输出 : NSLog(@"hello world");  NSLog(@"%@",@"hello world");

    (3) 其他语法 :

基本数据类型 char int float double BOOL(YES/NO)
nil 相当于C语言的NULL,也就是0
基本语句
循环语句(while ,do while ,for),条件语句(if ,if else ,switch)
注释 // 和 /*..*/
输出 NSLog(@"..."); NSlog(@"%@,%d...",...);

    (4) BOOL

        1) 它的定义 :

            typedef signed char BOOL;

        2) 它有两种取值 : YES ,NO

            #define YES (BOOL)1

            #define NO  (BOOL)0

    (5) #import

        1) 作用和 #include相识,都是拷贝文件文本内容

        2) 可以防止文件被多次拷贝 :

    #import <Foundation/Foundation.h>
    #import <Foundation/Foundation.h>
    #import <Foundation/Foundation.h>
    /*
        使用了三次#import指令但实际上 Foundation.h 只拷贝了一份
        那么我们编写头文件的时候就不许要加入以下代码
        #ifndef _FOUNDATION_H_
        #define _FOUNDATION_H_
        #endif
    */
    int main(){
        ...
        return 0;
    }


4. Foundation框架简介 

    (1) Foundation框架是开发 IOS 和 Mac 应用程序必备框架,很多OC面向对象语法都是基于该框架的

    (2) 该框架包含了很多编程接口 : 例如 :NSLog() , 反射等等...

    (3) 如果想使用该框架把整个框架包含进来即可 : #import <Foundation/Foundation.h>

    a. 简单开发

    (1) 源文件 :

    // test.m
    #import <Foundation/Foundation.h>
    int main(){
        NSLog(@"hello world");
        return 0;
    }
    
    /*
        终端编译指令:
        cc -c test.m                         // 得到test.o文件
        cc test.o -framework Foundation      // 得到a.out可执行文件,如果没有使用Founation框架 -framework Foundation 就可以删掉
        ./a.out                              // 执行可执行文件 
    */




---------------------- Java培训.Net培训Android培训IOS培训、期待与您交流! ---------------------- 

 详情请查看:http://edu.csdn.net/heima



标签: OC简介 OC语法
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 2
博文 20
码字总数 36166
×
明天过后1
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: