版权声明:本文为博主原创文章,欢迎转载。 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方法。