黑马程序员_OC面向对象之类和对象基础

一、类的声明和实现

#import <Foundation/Foundation.h>

//声明对象的属性和行为
@interface Car : NSObject
{
    //声明对象属性
    int wheels;
    int speed;

}
@end



@implementation Car

@end


int  main()
{
    [Car new];  
    c->wheels = 4;
    c->speed = 200;   
    return 0;
}



二: 类和对象的方法调用    

#import <Foundation/Foundation.h>

//声明对象的属性和行为
@interface Car : NSObject
{
    //声明对象属性,成员变量默认是protected,且成员变量不能初始化,不能在外部被直接调用,不能使用static关键字进行修饰
    @public
    int wheels;
    int speed;

}

//声明方法
- (void)run;
- (void)info;
//带参数的方法
- (void)setWhees:(int)wh andSpeed:(int)sp;
@end



@implementation Car


//实现方法
- (void)run
{
    NSLog(@"车子在跑。。。。");
}

//在实现方法中可以直接调用类的成员变量
- (void)info
{
    NSLog(@"车子的轮子有%d个,车子的速度是:%d",wheels,speed);
}

//带参数的方法
- (void)setWhees:(int)wh  andSpeed:(int)sp
{
    self->wheels = wh;
    self->speed = sp;
   
}
@end


//定义一个方法
void changeSpeed(Car *car)
{
    car->speed = 100;
}



int  main()
{
  
    Car *c =  [Car new];
    
    //调用成员变量,只有成员变量是public 时,才可以调用成员变量
    c->wheels = 4;
    c->speed = 200;
    
    //调用方法
    [c run];
    [c info];
    
    //调用方法,改变对象的成员变量的值
    changeSpeed(c);
    [c info];
    
    //调用对象的方法,改变成员变量的值
    [c setWhees:3 andSpeed:500];
    [c info];
    
    //匿名对象
    [Car new]->wheels =18;
    [[Car new] run];
    NSLog(@"%d,%d",c->wheels,c->speed);
    return 0;
}

运行结果:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值