黑马程序员技术交流社区

标题: 有关于对象作为方法的参数 [打印本页]

作者: 学以致用表初衷    时间: 2016-1-23 07:17
标题: 有关于对象作为方法的参数
设计一个”学生“类
1> 属性
* 姓名
* 生日
这个题 我想用对象作为方法的参数。
  1. #import <Foundation/Foundation.h>
  2. //人物的声明
  3. @interface person:NSObject
  4. {@public
  5.     NSString *_name;
  6.     int age;
  7.    
  8. }

  9. @end
  10. //人物的实现
  11. @implementation person

  12. @end
  13. //生日的声明

  14. @interface Student : NSObject

  15. {
  16. @public

  17.     NSString *year;

  18.     NSString *month;
  19.     NSString *day;
  20. }
  21. //生日的实现方法
  22. -(void)meide:(Student *)mi;
  23. @end

  24. @implementation Student

  25. -(void)meide:(Student *)mi{
  26.     NSLog(@"%@的%d生日为%d-%d-%d",mi->year,mi->month,mi->day);
  27.     //这里是我输出的东西。但是我不知道应该用什么来表示出这个人的名字。
  28.     //而且现在输出是有结果的。但是明显这个东西是错的。

  29. }
  30. @end



  31. int main(int argc, const char * argv[]) {
  32.     @autoreleasepool {
  33.       //声明一个名字的地址指针
  34.         person *p= [person new];
  35.         //给变量赋值
  36.         p->_name=@"胡大爷";
  37.         p->age=13;
  38.         //声明一个生日的地址指针
  39.         Student *s=[Student new];
  40.         s->year=@"1992";
  41.         s->month=@"31";
  42.         s->day=@"13";
  43.         //
  44.         [s meide:p];
  45.          return 0;
  46.         
  47. }
  48. }
复制代码


屏幕快照 2016-01-22 下午1.56.33.png (174.65 KB, 下载次数: 41)

屏幕快照 2016-01-22 下午1.56.33.png

作者: 野火    时间: 2016-1-23 07:17
1.此题中创建Person 类的意义就是,使其成为Student 类的属性。
另附上源码:
bbs_Itheima.zip (27.73 KB, 下载次数: 165)


作者: 学以致用表初衷    时间: 2016-1-23 21:17
没人明白吗。。。
作者: 学以致用表初衷    时间: 2016-1-24 09:04
野火 发表于 2016-1-24 02:53
1.此题中创建Person 类的意义就是,使其成为Student 类的属性。
另附上源码:

你真棒。。。!!!!!
但是有一个地方我没明白 就是为什么还要定义一个新的指针s2? 这个是什么作用啊。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2