OC-随便看看

OC-随便看看

引言

  • OC和C++一样,几乎完全继承自C语言
  • 个人感觉,OC非常类似C++,不愧是一个娘生的
  • OC基础的学习我是看的《Objective-C_2.0_Mac和iOS开发实践指南》, 这本书非常好,感觉讲的有点深
  • 下面我要慢慢的来消化一下这本书,以巩固OC基础语法与其特性

简单看一下

  • OC中的文件
    • .c .cc, .cpp .h: 分别是C语言的源文件, C++的源文件, 和头文件
    • .m : OC源文件
    • .mm : OC++的源文件
    • .pl : Perl源文件
    • .o : 已经编译过的文件

OC中的类

  • OC中的类的定义方法非常清晰(分离接口和实现文件)

    1. 在 .h文件中利用@interface描述类的组成结构(外部可见的)
    2. 在 .m文件中利用@implementation实现类中定义的方法
      例如:
    //.h文件,  描述Person
    @interface Person : NSObject    //Person类继承自NSOBjectNSObject可以认为是OC中的类的上帝
    {
        NSString* name;             //定义一个实例变量name, 类型为NSString指针
        int age;
    }
    //get 与 set方法,  必须是这种形式
    -(void) setName: (NSString*) n;     
    -(void) name;       //应记住没有get      
    -(void) showInfo;   

    @end        //应以end结尾


    //.m 文件   实现文件中,一般都是对interface中描述的方法进行实现
    @implementation Person     

    -(void) setName: (NSString*) n
    {
        name = n;
    }

    -(NSString*) name
    {
        return name;
    }

    -(void) showInfo
    {
        NSSLog(@"My name is %@ and the age is %i", name, age);  //NSSLog 类似printf  . %@代表打印字符串, %i代表打印整型
    }
    @end    
  • OC中的方法
    • 通过上面的例子, 可以简单的看出了OC中类的定义
    • 可以看出OC中的方法的书写格式是比较特别的, 下面来看一下OC中的方法是怎么来写的
      例如:
      -(void) setName: (NSString*) name;


    一个一个的来看:
      • 代表方法的类型, 是属于对象方法, 还是类方法(+)
    1. (void) 返回值类型
    2. setName 方法名
    3. : 方法接收的参数
    4. (NSString*) 参数类型
    5. name 参数名(形参)
  • 在OC中可以对父类的方法进行重写

  • 在OC中不可以对方法进行重载!
  • OC中 self 类似与 this

OC中的抽象类

  • 在OC中没有用于抽象类的显示语法。
  • 如果具有一个类,他实际上就是一个抽象类,就应该在文档中指出这一点
  • 在OC中,无法阻止有人实际的实例化你认为是抽象的类
  • -
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值