标签:打电话 关系 tracking 播放 ring set pop 短信 方法
2、匿名对象能够作为函数的实际參数
#import <Foundation/Foundation.h> #import "CZPerson.h" #import "CZBook.h" @interface CZBook : NSObject @end @implementation CZBook @end @interface CZPerson : NSObject { int _age;//年龄 NSString *_name;//名字 } //写方法 setter - (void) setAge:(int) age; //读方法 getter - (int) age; - (void) setName:(NSString *) name; - (NSString *) name; - (void) readBook:(CZBook *) book; @end @implementation CZPerson //写方法 setter - (void) setAge:(int) age { _age = age; } //读方法 getter - (int) age { return _age; } - (void) setName:(NSString *) name { _name = name; } - (NSString *) name { return _name; } - (void) readBook:(CZBook *) book { } @end int main(int argc, const char * argv[]) { [[CZPerson new] setAge:10]; /* 1、首先创建一个匿名人对象 2、调用刚创建出来的人对象的 readBook方法 3、传入一个匿名的CZBook对象 [CZPerson new] 创建一个匿名的人对象 [CZBook new] 创建一个匿名的Book对象 */ [[CZPerson new] readBook:[CZBook new]]; NSLog(@"%d",[[CZPerson new] age]); return 0; }2.依赖关系:
#import <Foundation/Foundation.h> @interface CZBeauty : NSObject { NSString * _name;//姓名 } - (void) setName:(NSString *) name; - (NSString *) name; /** * 给土豪打电话 */ - (void) callTuHaoWithPhone:(CZPhone *) phone; - (void) sendMessageToDiaoSi; @end @implementation CZBeauty - (void) setName:(NSString *) name { _name = name; } - (NSString *) name { return _name; } /** * 给土豪打电话、 对象作为形式參数 */ - (void) callTuHaoWithPhone:(CZPhone *) phone { NSLog(@"给土豪打电话了"); [phone call:@"土豪的电话号码"]; } - (void) sendMessageToDiaoSi { NSLog(@"给屌丝发送短信了"); // 对象作为另外一个类的局部变量 CZPhone *phone = [CZPhone new]; [phone sendMessage:@"呵呵,要请我看电影吗?"]; } @end @interface CZPhone : NSObject /** * 发短信 * * @param message 信息内容 */ - (void) sendMessage:(NSString *) message; /** * 打电话 */ - (void) call:(NSString *) phoneNum; @end @implementation CZPhone /** * 发短信 * * @param message 信息内容 */ - (void) sendMessage:(NSString *) message { NSLog(@"发送一条 %@ 短信",message); } /** * 打电话 */ - (void) call:(NSString *) phoneNum { NSLog(@"给电话号码为 %@ 的人打电话",phoneNum); } @end int main(int argc, const char * argv[]) { // 创建一个美女 CZBeauty *beauty = [CZBeauty new]; // 创建一个电话 CZPhone *phone = [CZPhone new]; [beauty setName:@"fbb"]; [beauty callTuHaoWithPhone:phone]; [beauty sendMessageToDiaoSi]; return 0; }
#import <Foundation/Foundation.h> #import "CZBeauty.h" #import "CZNewBeauty.h" int main(int argc, const char * argv[]) { CZBeauty *beauty = [CZBeauty new]; CZIPad *ipad = [CZIPad new]; CZNewBeauty *newBeauty = [CZNewBeauty new]; [newBeauty setIPad:ipad]; [newBeauty lookAtMovie]; [newBeauty listenToMusic]; [newBeauty playGame]; [newBeauty takeSelfPhoto]; return 0; } #import <Foundation/Foundation.h> #import "CZIPad.h" /* 当我们在一类中总是使用某个对象,作为形式參数,那么我们就把这个參数提取成员变量 */ @interface CZBeauty : NSObject //使用iPad看电影 - (void) lookAtMovieWithIPad:(CZIPad *) ipad; //使用IPad听音乐 - (void) listenToMusicWithIPad:(CZIPad *) ipad; /** * 美女玩游戏 */ - (void) playGameWithIPad:(CZIPad *) ipad; /** * 美女自拍 */ - (void) takeSelfPhotoWithIPad:(CZIPad *) ipad; @end #import "CZBeauty.h" @implementation CZBeauty //使用iPad看电影 - (void) lookAtMovieWithIPad:(CZIPad *) ipad { NSLog(@"美女要看电影了!"); [ipad playMovie]; } //使用IPad听音乐 - (void) listenToMusicWithIPad:(CZIPad *) ipad { NSLog(@"美女要听音乐了!"); [ipad playMusic]; } /** * 美女玩游戏 */ - (void) playGameWithIPad:(CZIPad *) ipad { NSLog(@"美女要玩游戏了!
"); [ipad playGame]; } /** * 美女自拍 */ - (void) takeSelfPhotoWithIPad:(CZIPad *) ipad { NSLog(@"美女要自拍了!
"); [ipad takePhoto]; } @end #import <Foundation/Foundation.h> @interface CZIPad : NSObject //播放电影 - (void) playMovie; //播放音乐 - (void) playMusic; //玩游戏 - (void) playGame; //拍照 - (void) takePhoto; @end #import "CZIPad.h" @implementation CZIPad //播放电影 - (void) playMovie { NSLog(@"iPad播放电影"); } //播放音乐 - (void) playMusic { NSLog(@"iPad播放音乐"); } //玩游戏 - (void) playGame { NSLog(@"iPad玩游戏"); } //拍照 - (void) takePhoto { NSLog(@"iPad自拍"); } @end #import <Foundation/Foundation.h> #import "CZIPad.h" @interface CZNewBeauty : NSObject { // 让美女拥有一个IPad CZIPad * _iPad; } //写方法。买一个IPad - (void) setIPad:(CZIPad *) iPad; //看电影 - (void) lookAtMovie; //听音乐 - (void) listenToMusic; /** * 美女玩游戏 */ - (void) playGame; /** * 美女自拍 */ - (void) takeSelfPhoto; @end #import "CZNewBeauty.h" @implementation CZNewBeauty //写方法,买一个IPad - (void) setIPad:(CZIPad *) iPad { _iPad = iPad; } //看电影 - (void) lookAtMovie { NSLog(@"美女看电影"); [_iPad playMovie]; } //听音乐 - (void) listenToMusic { NSLog(@"美女听音乐"); [_iPad playMusic]; } /** * 美女玩游戏 */ - (void) playGame { NSLog(@"美女玩游戏"); [_iPad playGame]; } /** * 美女自拍 */ - (void) takeSelfPhoto { NSLog(@"美女自拍"); [_iPad takePhoto]; } @end
学习心得:
通过各自相应的样例,熟练掌握面向对象,为以后的学习打好基础标签:打电话 关系 tracking 播放 ring set pop 短信 方法
原文地址:http://www.cnblogs.com/yutingliuyl/p/7350379.html