黑马程序员—OC(关于OC的一些简单介绍及使用)

来源:互联网 发布:中世纪2优化9火炮 编辑:程序博客网 时间:2024/05/22 02:01

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

1. 对OC的简单陈述    


       1>  OC是在C语言的基础上发展过来的,在C原有的基础上增加了一层面向对象的语法。


         2>  语法基础上OC完全兼容C。也可以混合的输入代码使用。


         3>  OC可以开发MAC OS X平台和IOS平台的应用程序。


2.简单的使用


         1>   和C语言不同的是,OC中的字符串  :


                                                   @“ Heelo” ,是以@开头,C 语言:“Heelo”。


                                                    OC的输出:NSLog(@"Heelo"); //  会自动换行       C语言:printf("Hello\n") ;


                                                    使用 NSLog 需要 #import<Foundation/Foundation.h>


                                                     使用 printf 需要 #include<stdio.h>


         2>   OC的基本数据类型中在C语言的基础上增加了 BOOL 类型。


         3>   C 中的条件语句和循环语句以及注释的方法也同样适用于OC。


3.语法特性


            1> #import的作用:

                          和#include一样,用来拷贝某个文件的内容,能 自动防止文件内容被拷贝多次。


             2> Foundation框架的作用:


                           框架中包含了许多头文件,使用到框架中的内容时,包含头文件。


                  框架中包含了很多常用的API(应用编程接口),也是开发OC、IOS、MAC程序必备的框架(了解)。


             3>  BOOL的使用:


                            BOOL类型的变量有两种取值:YESNOES 、 

NO

                               # define  YES (BOOL)    1


                               #define   NO (BOOL)   


                            注意: 输出时当做整数来用:  NSLog(@"%d %d",YES , NO) ;


44.关于多文件的混合开发

                   # import "one.h"

                     int  main( )

                     {


                     test ( ) ;

                     return 0 ;

                     }            

                  


                     one.h

                     void   test ( ) ; 

            


                     one.m 

                     #import  <Foundation /Foundation.h>

                     void  test ( ) 

                     {

                              NSLog (@ " 调用了 test 函数 " ) ;

                     }

5.面向对象的思想

                区别分析:面向过程是解决问题所需的步骤,而面向对象关注的是解决问题所需的对象。

                                        

.                 面向对象解决问题时:先考虑所需要设计的类,再利用类创建多少个对象。

                 类的设计:

                                 

                                 1> 事物的名称(类名)

                                 2> 属性

                                 3> 行为

   

                              例如:

                                         #import<Foundation/Foundation.h>          //         使用到框架时,要包含头文件


                                         //      第一步:进行类的声明(声明的对象的属性、行为)

                                        @interface  Car  : BSObject    // object 作用是让Car这个类具备创建对象的能力

                                        {

                                                   @public           //  作用是可以让外部的指针间接访问对象内部的成员变量   


                                                   //   声明对象的属性

                                                     int   whells  ;    //   这里定义车的轮子这个属性


                                                     int   speed ;    //    这里定义了车的速度这个属性

                                                         

                                        }

                                       @end  

                                          

                           

                                         //      第二步:类的实现


                                        @implementation  Car

                                          ...

                                        @end

 

                                        int  main ( )

                                        {         

                                                    //       [ 行为执行者    行为名称 ] ,OC中需要执行一些行为,就写上[ ] ; 

                                                    //       [ Car  new ] ;         //    通过 执行Car这个类的new行为,创建一个新的对象


                                                    Car  *p = [ Car new ] ; //     定义一个指针变量p , p将来指向Car类型的对象


                                                    p  —> speed = 120 ;  //     通过指针变量,对Car类型中的成员变量赋值


                                                    p —> wheels  = 4 ;


                                                    NSLog (@"Car有%d个轮子,时速是%d" , p —> wheels , p —> speed) ; //   NSLog 输出自动换行


                                                    return 0 ;

                                           }

                                           

                                           注意: //    类名的第一个字母必须大写


                                                       //    不能有下划线


                                                      //     多个英文字母是注意用驼峰标示

6.对象的行为

                                            //        第一步 :类的声明 

                                            @interface  Car :NSObjec

                                            {  

                                                     @public 


                                                      int  wheels ;


                                                      int  speed ; 


                                            }


                                               /*  


                                                方法(行为):方法名、参数、返回值(声明、实现)。


                                               OC中对象的方法用 " - " 减号开头。


                                               OC 方法中的任何数据类型都必须用()扩住。    

                                                    

                                              */

                                          //    类的行为

                                             - (void)run ;          //     在上面类的设计里面加入行为


                                             @end



                                              //   类的实现

                                             @implementation  Car


                                              //     类方法的实现

                                              -  (void)run         //       注意方法名用 “ -  "号开头

                                               {


                                                        NSLog ( @"车子发动了") ;


                                               }

                                               @end



                                               int  main( )

                                               {

                                                         Car  *p = [ Car  new ] ;   //    每次创建出一个新对象,并返回新对象本身(地址)


                                                         p —> wheels = 6 ;


                                                         p —>  speed  = 180 ;


                                                         [ p   run ] ;              //      给所指向的对象发送一条run消息


                                                         NSLog (@" 车子有%d个轮子,时速%dkm/h " ,  p —> wheels , p —> speed ) ; 


                                                         return  0 ;


                                                }

                                                

   

                     

                                                                   


0 0