.h文件。。。。。。。

@interfacebook:NSObject/*{NSString*_bookName;//书名CGFloat_bookThickness;//厚度NSString*_bookType;//书类型NSInteger_bookPrice;//书价格NSString*_publishingHouse;//出版社NSString*_publishintTime;//出版时间}*///在@property里面,其实就包含了定义实例变量,setter方法和getter方法。这里可以不用在定义实例变量了@property(nonatomic,copy)NSString*bookName;//用copy写完整的属性@property(nonatomic,assign)CGFloatbookThickness;@property(nonatomic,retain)NSString*bookType;//retain不建议使用,大多使用copy@property(nonatomic,assign)NSIntegerbookPrice;@property(nonatomic,copy)NSString*publishingHouse;@property(nonatomic,copy)NSString*publishintTime;-(void)read;-(void)write;@end


.m文件

@implementationbook@synthesizebookName=_bookName;@synthesizebookThickness=_bookThickness;@synthesizebookType=_bookType;@synthesizebookPrice=_bookPrice;@synthesizepublishingHouse=_publishingHouse;@synthesizepublishintTime=_publishintTime;-(void)setBookName:(NSString*)bookName{if(_bookName!=bookName){[_bookNamerelease];//auto---All---Combined---Language--ObjectiveC--->no这里是对内存的一个设置,_bookName=[bookNamecopy];}}-(NSString*)bookName{return[[_bookNameretain]autorelease];}-(void)setBookThickness:(CGFloat)bookThickness{_bookThickness=bookThickness;}-(CGFloat)bookThickness{return_bookThickness;}-(void)setBookType:(NSString*)bookType{if(_bookType!=bookType){[_bookTyperelease];_bookType=[bookTyperetain];//retain和copy唯一的不同在这里。}}-(NSString*)bookType{return[[_bookTyperetain]autorelease];}-(void)setBookPrice:(NSInteger)bookPrice{_bookPrice=bookPrice;}-(NSInteger)bookPrice{return_bookPrice;}-(void)setPublishingHouse:(NSString*)publishingHouse{if(_publishingHouse!=publishingHouse){[_publishingHouserelease];_publishingHouse=[publishingHousecopy];}}-(NSString*)publishingHouse{return[[_publishingHouseretain]autorelease];}-(void)setPublishintTime:(NSString*)publishintTime{if(_publishintTime!=publishintTime){[_publishintTimerelease];_publishintTime=[publishintTimecopy];}}-(NSString*)publishintTime{return[[_publishintTimeretain]autorelease];}-(void)read;{NSLog(@"这是一本书");}-(void)write{NSLog(@"可以写");}@end