Objective-C 类和对象

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值