A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 泥娃娃 中级黑马   /  2016-3-20 09:43  /  917 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

测试题7
   定义2个新类,分别命名为Song/Playlist。Song对象包含歌曲的信息,歌名、艺术家、专辑、歌曲长度;Playlist对象表示一个播放列表,包含播放列表名称和一个歌曲的集合,还应该提供添加和删除歌曲的方法。(Objective-C)

main.m
  1. #import <Foundation/Foundation.h>
  2. #import "PlayList.h"
  3. #import "Song.h"
  4. int main(int argc, const char * argv[]) {
  5.     @autoreleasepool {
  6.         
  7.         //创建歌曲对象
  8.         Song *s1 = [[Song alloc]init];
  9.         Song *s2 = [[Song alloc]init];
  10.         Song *s3 = [[Song alloc]init];
  11.         Song *s4 = [[Song alloc]init];
  12.         //为对象属性赋值
  13.         s1.songName = @"歌曲1";
  14.         s1.actor = @"艺术家1";
  15.         s1.zhuanji = @"专辑1";
  16.         s1.songTime = 111;
  17.         s2.songName = @"歌曲2";
  18.         s2.actor = @"艺术家2";
  19.         s2.zhuanji = @"专辑2";
  20.         s2.songTime = 222;
  21.         s3.songName = @"歌曲3";
  22.         s3.actor = @"艺术家3";
  23.         s3.zhuanji = @"专辑3";
  24.         s3.songTime = 333;
  25.         s4.songName = @"歌曲4";
  26.         s4.actor = @"艺术家4";
  27.         s4.zhuanji = @"专辑4";
  28.         s4.songTime = 444;
  29.         //创建播放列表对象
  30.         PlayList *list = [[PlayList alloc]init];
  31.         //为列表对象赋值
  32.         list.listName = @"播放列表";
  33.         list.list = [[NSMutableArray alloc]init];
  34.         //调用添加歌曲方法
  35.         [list addSong:s1];
  36.         [list addSong:s2];
  37.         [list addSong:s3];
  38.         [list addSong:s4];
  39.         NSLog(@"----添加歌曲后列表信息----");
  40.         //遍历列表
  41.         for(Song *s in list.list)
  42.         {
  43.             [s songMessage]; // 输出歌曲信息
  44.         }
  45.         //调用删除歌曲方法
  46.         [list deleteSong:s1];
  47.         [list deleteSong:s3];
  48.         NSLog(@"----删除歌曲后列表信息----");
  49.         //遍历列表
  50.         for(Song *s in list.list)
  51.         {
  52.             [s songMessage]; // 输出歌曲信息
  53.         }
  54.         
  55.     }
  56.     return 0;
  57. }
复制代码

song.h
  1. #import <Foundation/Foundation.h>

  2. @interface Song : NSObject
  3. @property (nonatomic,strong) NSString *songName; // 歌曲名称
  4. @property (nonatomic,strong) NSString *actor; // 艺术家
  5. @property (nonatomic,strong) NSString *zhuanji; // 专辑
  6. @property (nonatomic,assign) int songTime; // 歌曲时间
  7. - (void) songMessage; //输出歌曲信息
  8. @end
复制代码

song.m
  1. #import "Song.h"

  2. @implementation Song
  3. - (void)songMessage //输出歌曲信息
  4. {
  5.     NSLog(@"歌曲名:%@,艺术家:%@,专辑:%@,歌曲长度:%d",_songName,_actor,_zhuanji,_songTime);
  6. }
  7. @end
复制代码

PlayList.h
  1. #import <Foundation/Foundation.h>
  2. @class Song;
  3. @interface PlayList : NSObject
  4. @property (nonatomic,strong) NSString * listName; // 列表名称
  5. @property (nonatomic,strong) NSMutableArray * list; // 歌曲集合
  6. - (void) deleteSong:(Song *)song; // 删除歌曲
  7. - (void) addSong:(Song *) song; // 添加歌曲
  8. @end
复制代码

Playlist.m
  1. #import "PlayList.h"

  2. @implementation PlayList
  3. - (void)deleteSong:(Song *)song // 删除歌曲
  4. {
  5.     if(_list.count==0||_list==nil) // 判断列表数目是否为0,或列表是否存在
  6.     {
  7.         return;
  8.     }
  9.     else
  10.     {
  11.         [_list removeObject:song]; // 删除歌曲
  12.     }
  13. }
  14. - (void)addSong:(Song *)song  // 添加歌曲
  15. {
  16.     [_list addObject:song]; // 添加歌曲
  17.    
  18. }
  19. @end
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马