IOS学习笔记-2

转载来自:http://www.cnblogs.com/caishuhua226/archive/2012/12/22/2829587.html

刚才在博客园看到一篇关于OC的语法小结的文章,感觉还好,就转载过来了。下面可以发现某些比较感兴趣的特点,是昨天没有发现的。

比如:

1,类的所有函数都是@public的,如果需要将该方法修改为类似C++那样的private的话,一共有两种方法:一个就是将其在另外一个函数中调用,

从而实现封装。另外一个方法是就是使用那个catalog的关键字。

对于成员的来说,缺省状态下都是@protected的,也可以显示设置为@private。访问的权限与C++一样。

2,类的函数都是虚函数,都可以被子类重写的,而不用像C++那样显示生命为virtual。因此在子类的函数调用基类的相同的方法需要使用super:[super fun];

同样地,在OC也有类似C++那样的this指针,那么它的作用就不用说了。

3,函数重载。OC中的重载像博文说得那样,不是严格类型的重载。两个函数之间需要不同的标签才能重载,否则就出现错误了!


/***************************************************************************分割线****************************************************************************************************************/


1、面向对象概述

比较项目      OC

基类       NSObject

单继承      是单继承

接口         支持接口(协议)@protocol

多继承      使用接口来实现多继承

多态         支持多态

抽象类      支持抽象类

异常处理           简单的异常处理@try @catch @finally

虚函数      所有的函数都是虚函数

头文件      #import

2、OC有别于C/C++的一些比较

  1、BOOL  YES  NO

   在oc中布尔类型是BOOL,布尔值是yes,no

  2、id类型

    O-C中每个目标都可以表达为id类型,可以认为是NSObject*或者是void*

  3、nil

    nil表示null,表示一个目标指针

3、类声明放到.h文件里,类的实现放到.m文件里。

  类的声明:@interface @end

  类的实现:@implementation @end

4、#import "xxxx.h"包含头文件

5、创建/销毁OC对象

  创建对象

  Dog *dog=[Dog alloc];

  初始化构造函数

  [dog init];

  销毁对象

   [dog release];

6、字段定义

  变量申明:@public @protected @private

  O-C中变量必须定义在类{}之间的地方

  O-C缺省是@protected

  O-C里面的函数全是@public类型 没有其他的类型(用另外的方式实现private化)

7、类的申明

  O-C中类的申明必须带*号,这里的*既表示指针也表示引用,例如:Dog  *mydog;这里的*既表示真正的指针,也表示引用,可以通过mydog→dog或者mydog.dog这些方法来访问。

8、函数调用对别

  

9、函数重载

  O-C不是严格类型的函数重载

  

就是说O-C的函数重载前提是方法名相同,如果想重载必须有不同的标签

10、Message消息机制

  O-C用[object message]或者object.message来发送消息,所谓的消息就是我们在C语言当中所说的函数。

11、函数作用域的申明

  oc在.h头文件定义的所有函数都是public类型,如果想进行私有化可以有2种方法

  1、直接将函数写在.m文件中;

  2、OC通过Categories来实现函数的 私有化;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值