Objective-C 类和对象

来源:互联网 发布:网络兼职骗局信誉代刷 编辑:程序博客网 时间:2024/05/01 08:26
1、类的声明:声明对象的属性和行为

@interface 类名{


}@end


例:@interface Car:NSObject{
   
                         //类似于java OC里面所有类的父类为NSObject,所以需要从它继承。并且还需要#import<Foundation/Foundation.h>

    @public      //@public可以让外部指针间接的访问对象内部的成员变量
    int wheels;//成员变量默认会初始化为 0 
    int speed;

}

- (void)run; 

方法的声明必须写在大括号外面,只要是OC对象的方法,必须以减号 - 开头。
OC里面任何的数据类型都必须用小括号()括住

@end




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]){

    }
     return self;
}

这里 init()的返回值 必须是 id!!!切记。




0 0
原创粉丝点击