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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 白月光 中级黑马   /  2014-6-11 17:37  /  1593 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. #import <Foundation/Foundation.h>

  2. //定义类:人
  3. @interface Person : NSObject
  4. {
  5.     NSString *_name;  //姓名
  6.     int _age; //年龄
  7. }
  8. //姓名的set和get方法声明
  9. - (void)setName:(NSString *)newname;
  10. - (NSString *)name;

  11. //年龄set和get方法声明
  12. - (void)setAge:(int)newage;
  13. - (int)age;

  14. //同时录入姓名和年龄方法声明
  15. - (void)setName:(NSString *)name2 andAge:(int)age2;

  16. @end


  17. @implementation Person
  18. //姓名set方法实现
  19. - (void)setName:(NSString *)newname
  20. {
  21.     _name = newname;

  22. }
  23. //姓名get方法实现
  24. - (NSString *)name
  25. {
  26.     return _name;
  27. }
  28. //年龄set方法实现
  29. - (void)setAge:(int)newage
  30. {
  31.     _age = newage;
  32. }
  33. //年龄get方法实现
  34. - (int)age
  35. {
  36.     return _age;
  37. }

  38. - (void)setName:(NSString *)name2 andAge: (int)age2
  39. {
  40.    
  41.     [self setName : name2];
  42.     [self setAge : age2];
  43. }

  44. @end


  45. int main()
  46. {
  47.     Person *p = [Person new];
  48.     [p setName:@"jack" andAge:22];
  49.     //[p setName : @"jack"];
  50.     //[p setAge : 22];
  51.    
  52.    
  53.     NSLog(@"%@  %d",[p name],[p age]);

  54.     return 0;

  55. }
复制代码
一开始我就错误的将NSLog(@"%@ %d",[p name],[p age])写成了NSLog(@"%@ %d",[p  _name],[p _age]),想当然的认为要输出变量的值只要把变量拿过来就可以了,此代码中有封装set和get方法,所以输出要通过get方法的来输出



QQ截图20140611172053.jpg (148.62 KB, 下载次数: 7)

运行

运行

6 个回复

倒序浏览
顶一个。
回复 使用道具 举报
学习学习
回复 使用道具 举报
顶一个!
回复 使用道具 举报
看不懂啊!!:Q:Q
回复 使用道具 举报
不错,解释的很细致,步骤也很清晰,顶起。
回复 使用道具 举报
baby14 金牌黑马 2018-8-13 09:14:41
7#
多谢分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马