ios_OC中的类声明、定义域等等概念

OC关键字定义为  @class
O-C特有的语句for(。。in 。。)迭代循环,其他的条件和循环语句和c一样
OC对面向对象的概述
(1)基类:NSOject
(2)一般的继承是单继承,使用协议@protocol 实现多重继承
(3)所有的函数都是虚函数
Id类型
OC中每个目标都可以表达为id类型,泛型。可以认为是NSObject *或者 void Nil
  等同于null,表示一个目标指针
类定义
   Oc的类分为2个文件,
   .h文件存放类,函数的声明(声明的关键字 @interfance   @end)
   .m文件存放类的具体实现(实现关键字)
对象和类的方法
“+” 表示类的方法
“-”表示对象的方法  -(int)返回值f 函数的名字: (int)  x;参数(有个“:”表示有几个参数,从第二个参数起“:”前面必须加空格)
对于方法声明的讲解
“:”表示继承 @interface  Dog : NSObject{}  @end
“{}”之间只能写字段(如:int age),不能写函数
右括号和@end间接写的是函数
创建对象
  Dog *dog=[Dog alloc] ;  一个类的名字 + alloc
初始化构造函数
   [dog init];    凡是以init…开头的都是构造函数
销毁对象
[dog release];
字段定义
三种作用域:@public @protected(保护,在类本身或者子类中) @private (只能在类的内部)
补充:缺省的是protected
函数全部用public
变量必须定义在类{}之间的地方
注:在c中函数和字段是可以重名的
类的声明
  必须带“*” 即表示指针也表示引用   Dog(对象) * myDog (变量名)
访问 myDog.dog(变量名访问字段)或者使用空格       
多参数方法
 带两个参数(函数名为f::)
  两种写法  -(float)f(int)x 【空格】 :(int)y           不提倡这种写法
(2)-(float)f(int)x  【空格】g:(int)y  g:表示标签   (第一参数不能有标签,第一个函数名就相当于第一个参数的标签,是为了方便阅读)
如何调用方法
无参数
-(int)foo;
  Int ret=[obj foo] 调obj的方法,没有参数,调方法的时候用[]
一个参数
-(int)foo:(int)a;
Int ret=[obj foo:10]
带标签
-(int)foo:(int)a   andB(int)b;
Int ret=[obj foo:10  andB:2];
OC不是严格的函数重载
-(int)g:(int)x;
-(int)g:(folat)x;两个函数的函数名都为”g:” 在OC中是错误的,但是c中是可行  
函数作用域声明
.h中定义的所有函数都是public类型的
私有化的解决方法

在.m文件中使用Categoy



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值