A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 谢天成老师 初级黑马   /  2016-3-28 17:07  /  1393 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 谢天成老师 于 2016-3-28 17:07 编辑

               OC 语言基础知识
一、     面向对象
                   OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能的类。
        术语:OO面向对象、OOP面向对象编程
二、     类
           (一)关于类
                    类的生成我们暂时只要知道这三个东西就好了:类名、属性和方法
                    注意:一般名词都是类,拥有相同属性和行为的对象都可以抽象为一个类,类名是标识符的一种,需要符合规范,通常类名的第一个字母大写,  
                     且不能有下划线,如果有多个单词则使用驼峰标识。在对方法进行类的划分中,一般采取的做法是谁最熟悉这个方法那么就把这个方法划分给   
                     谁。在OC中,对象对方法的调用称为消息机制,即向既定的对象发送了什么消息。
         (二)简单的内存分析
                     先来看一段代码:
                       NSString* s;
                      s = [[NSStringalloc] initWithString:@"hello ios"];
                     这是一段最简单的字符串定义,但是看似简单,其实有很多东西可能会被忽略掉
                      1.这里的s其实是个指针,在oc中除了基本数据类型之外的变      量类型都是指针类型,oc的对象也是通过指针进行操作的。
                       2. 在第一段代码定义了NSString类型的指针变量,但是并没有指向任何对象,第二段代码alloc一个NSString对象  然后使s指向它,并通过s开
                         始其的后续操作。
                       3. 这里s的内存空间在栈内存中,“hello ios”在堆内存中。
              (三)类的声明和实现
                      1) 类的声明:
                           这里声明了一个Person类,这个类拥有一个@public 修饰的属性(成员变量),以及一个对象方法run。


                        2)类的实现:类的声明就可以认为是.h文件(类中)的方法的实现。
                           
                        3)   类的调用:在主函数首先创建了一个Person类型的对象(先调用alloc分配存储空间,后调用init方法初始化为0),并定义了一个Person  
                         类型的指针指向创建的这个对象,之后初始化对象成员变量_age的值为18,然后调用了对象的run方法,打印输出。
                             
                              
                              
三、  OC对象与函数
(1)方法的实现只能写在@implementation··@end中,对象方法的声明只能写在@interface···@end中间。
(2)对象方法都以-号开头,类方法都以+号开头。
(3)对象方法只能由对象来调用,类方法只能由类来调用,不能当做函数一样调用。
(4)函数属于整个文件,可以写在文件中的任何位置,包括@implementation··@end中,但写在@interface···@end会无法识别,函数的声明可以再main函数内部也可以在main函数外部。
(5)对象方法归类\对象所有。
(6)函数调用不依赖与对象。
(7)函数内部不能直接通过成员变量名访问对象的成员变量。






0 个回复

您需要登录后才可以回帖 登录 | 加入黑马