初始化实例

1.声明文件

#import <Foundation/Foundation.h>


@interface Car : NSObject

{

    NSString *name;

    NSString *name2;

    NSString *name3;

    float speed;

    float speed2;

    float speed3;

}

- (id)init;

//实例变量的setget

- (void)setName:(NSString *)newName;

- (NSString *)name;

- (void)setSpeed:(float)newSpeed;

- (float)speed;

//启动方法

- (void)startCar;

//带参初始化

- (id)initWithName:(NSString *)newName2 WithSpeed:(float)newSpeed2;

//类的初始化

+ (id)carWithName:(NSString *)newName3 WithSpeed:(float)newSpeed3;

//使用点语法时的set方法

- (void)setName3:(NSString *)newName3;

//同上

- (void)setSpeed3:(float)newSpeed3;

@end


2.实现文件

#import "Car.h"


@implementation Car

- (id)init

{

    self=[super init];

    if (self) {

        

    }

    return self;

}

- (void)setName:(NSString *)newName

{

    name=newName;

}

- (NSString *)name

{

    return name;

}

- (void)setSpeed:(float)newSpeed

{

    speed=newSpeed;

}

-(float)speed

{

    return speed;

}


- (id)initWithName:(NSString *)newName2 WithSpeed:(float)newSpeed2;

{

    self=[super init];

    if (self)

    {

         name2=newName2;

        speed2=newSpeed2;

    }

    return self;

   

}

#pragma mark - setter getter

- (void)setName3:(NSString *)newName3

{

    name3=newName3;

}

- (void)setSpeed3:(float)newSpeed3

{

    speed3=newSpeed3;

}


#pragma mark - class

+ (id)carWithName:(NSString *)newName3 WithSpeed:(float)newSpeed3

{

    Car *myCar=[[Car alloc] autorelease];

    myCar.name3=newName3;

    myCar.speed3=newSpeed3;

    return myCar;

}

#pragma mark  - action method

- (void)startCar

{

    NSLog(@"%@汽车启动了,时速为%f km/h",name3,speed3);

}


#pragma mark - memory management

- (void)dealloc

{

    [super dealloc];

}


@end


3.主文件

#import <Foundation/Foundation.h>

#import "Car.h"


int main(int argc, const char * argv[])

{


    @autoreleasepool {

        /*

        Car *myCar = [[Car alloc] init] autorelease];

        //点语法

        myCar.name = @"路虎";

        myCar.speed = 70;

        [myCar startCar];

        //普通方法

        [myCar setName:@"路虎"];

        [myCar setSpeed:70];

        [myCar startCar];

        */

        //带参类方法初始化

        Car *myCar = [Car carWithName:@"路虎" WithSpeed:70];

        [myCar startCar];

        

        

    }

    return 0;

}

//注意动态和静态两种带参初始化方法


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值