Objective-C 类和对象
来源:互联网 发布:网络兼职骗局信誉代刷 编辑:程序博客网 时间:2024/05/01 08:26
1、类的声明:声明对象的属性和行为
@interface 类名{
}@end
方法的声明必须写在大括号外面,只要是OC对象的方法,必须以减号 - 开头。
例:@interface Car:NSObject{
//类似于java OC里面所有类的父类为NSObject,所以需要从它继承。并且还需要#import<Foundation/Foundation.h>
@public //@public可以让外部指针间接的访问对象内部的成员变量
int wheels;//成员变量默认会初始化为 0
int speed;
}
- (void)run;
方法的声明必须写在大括号外面,只要是OC对象的方法,必须以减号 - 开头。
OC里面任何的数据类型都必须用小括号()括住
@end
3、产生新对象的方法 : ClassA *a =[ [ClassA alloc] init ]
OC创建对象需要两个步骤:
(1)内存分配:为新对象动态分配一段内存地址
(2)初始化:为这段内存空间填上初始值
只有完成以上2步骤对象才能真正行驶功能。
p->wheels = 4;
5、方法带有多个参数
2、类的实现:只做一件事情,就是实现所声明的方法!
@implementation 类名
@end
例:
@implementatiom Car
- (void)run
{
NSLog(@"跑跑跑!!!");
}
@end
3、产生新对象的方法 : ClassA *a =[ [ClassA alloc] init ]
OC创建对象需要两个步骤:
(1)内存分配:为新对象动态分配一段内存地址
(2)初始化:为这段内存空间填上初始值
只有完成以上2步骤对象才能真正行驶功能。
4、操作对象只能使用 指针 !! 所以 Car *p =[ [Car alloc] init]; 就是定义了一个Car类型的指针变量P指向了新对象!!
p->wheels = 4;
p->speed = 250;
给所指向对象的属性赋值
[p run];
调用P的run方法,调用谁的方法 就意味着 方法里可以使用该对象的成员变量。
5、方法带有多个参数
- (int)sum:(int)sum1 :(int)sum2;
参数之间一定要用 空格 隔开!!并且 一个冒号 对应一个 参数!!
简化设置器和访问器.注意两个关键字@property,@synthesize
#import <Foundation/Foundation.h>@interface Person : NSObject { int _myNumber;}// 普通的get和set
//-(int)myNumber;
//-(void)setMyNumber:(int)number;@property int myNumer; @end
@implementation Person// 普通的get和set实现//-(int)myNumber{
// return _myNumber;//}//-(void)setMyNumber:(int)number{
// _myNumber = number;//}@synthesize myNumer = _myNumber;@end
id: 万能指针 相当于NSObject *
重写init方法
-(id)init{
if(self = [super init]){
if(self = [super init]){
}
return self;
}
这里 init()的返回值 必须是 id!!!切记。 0 0
- Objective-C:类和对象
- Objective-C 类和对象
- Objective-C类和对象
- Objective-C-类和对象
- Objective-C类和对象
- Objective-C 类和对象
- 一起学Objective-C - 类和对象
- Objective-C中的类和对象(instance)
- objective c中的类和对象
- 黑马程序员---Objective-C 类和对象
- Objective - C 1. 类和对象
- 黑马程序员------[Objective-C]类和对象
- [Objective-C] 类、对象和方法
- objective C程序 类和对象
- Objective-C 中的类和对象
- Objective-C入门03:类和对象
- Objective-c语言 - 类和对象
- Objective-C对象模型--类对象和元类对象
- 大趋势(一):软件化 / Software Defined
- ffmpeg+ffserver 搭建流媒体服务器
- SQL中的 where 1= 1?以及select 1 from table?意义!
- 怎样判断机器的字节顺序是高字节在前还是低字节在前?
- 面试宝典之程序设计基本概念
- Objective-C 类和对象
- android 的injustdecodebounds
- oracle中的包头(Package)与包体(Package body)
- 解决:彩信,添加了有效联系人和编辑了主题,按返回键,提示信息存为草稿,但实际未储存
- Log4Net使用指南
- 在SQL PLUS中打印存储过程的结果
- 如何使用web.xml配置参数,并在serlvet取得该值
- c语言结构体自引用指针
- SWIFT的代码教程-json类(VKJson)