objective-C基础教程 对象的初始化。

版权声明:本文为博主原创文章,欢迎转载。 https://blog.csdn.net/chen12302asd/article/details/81747469

对象初始化

@interface CCYBook : NSObject

@property (nonatomic, copy)NSString *bookName;
@property (nonatomic, copy)NSString *bookAuthor;
@property (nonatomic, assign)float bookPrice;

- (instancetype)initWithName:(NSString *)name andPrice:(float)price;
+ (instancetype)bookWithName:(NSString *)name andPrice:(float)price;

@end

创建了一个图书类,这个类有三个属性,书的名字,作者名字,定价。下面是类的实现代码。

@implementation CCYBook

- (instancetype)initWithName:(NSString *)name andPrice:(float)price{
    if (self = [super init]) {
        _bookName = name;
        _bookPrice = price;
    }
    return self;
}

+ (instancetype)bookWithName:(NSString *)name andPrice:(float)price{
    return [[self alloc] initWithName:name andPrice:price];
}

@end

在main()函数中分别用不同的初始化方法来创建对象,然后打印出信息。

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        CCYBook *aBook = [[CCYBook alloc] init];
        aBook.bookName = @"Objective-C 基础教程";
        aBook.bookAuthor = @"Scott Knaster,Waqar Malik,Mark Dalrymple";
        aBook.bookPrice = 59.00;
        NSLog(@"我有一本%@的书,这本书的作者是%@,定价是%.2f。", aBook.bookName, aBook.bookAuthor, aBook.bookPrice);
        CCYBook *bBook = [[CCYBook alloc] initWithName:@"金字塔原理" andPrice:49.00];
        bBook.bookAuthor = @"芭芭拉•明托";
        NSLog(@"我有一本%@的书,这本书的作者是%@,定价是%.2f。", bBook.bookName, bBook.bookAuthor, bBook.bookPrice);
        CCYBook *cBook = [CCYBook bookWithName:@"Objective-C 基础教程" andPrice:49.00];
        NSLog(@"我有一本%@的书,这本书的作者是%@,定价是%.2f。", cBook.bookName, cBook.bookAuthor, cBook.bookPrice);
    }
    return 0;
}

@property是OC中的属性,会自动生成getter和setter方法。

猜你喜欢

转载自blog.csdn.net/chen12302asd/article/details/81747469
今日推荐