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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

对象:学生
成员变量:性别、生日、体重、最喜欢的颜色、狗(体重、毛色、吃、跑)
方法:吃、跑步、遛狗、喂狗
第一个对象是学生,学生的成员变量包含狗,狗继续作为一个对象,可以定义狗的成员变量,设计狗的对象的声明和实现。问题是在执行学生对象的遛狗和喂狗方法时,狗这个对象的方法也被调用。在定义学生遛狗和喂狗方法时直接把喂狗和遛狗方法直接定义为[dog eat];和[dog run];怎么理解好,定义狗对象时候用的Dog,调用它的方法时第一次理解应该为[Dog eat];和[Dog run];
//狗对象的声明和方法
@interface Dog:NSObject
{
     @public
     double weight;//体重
     Color curColor;//毛色  
}
- (void)eat;
- (void)run;
@end
@implement Dog
- (void)eat
{
     weight+=1;
     NSLog(@"狗吃完这次之后的体重是:%f",weight);
}
- (void)run
{
     weight -= 1;
     NSLog(@"狗跑完这次的体重是:%f",weight);
}
@end
//学生对象的声明和实现
@interface Student:NSObject
{
     @public
     Sex sex;//性别
     Date birthday;//生日
     double weight;//体重(kg)
     Color favColor;//最喜欢的颜色
     char name;//姓名
     Dog *dog;//学生对象对应一个狗对象
}
- (void)eat;
- (void)run;
- (void)print;//输出一个学生对象的成员变量信息
- (void)liuDog;//遛狗方法
- (void)weiDog;//喂狗方法

@end
@implement Student
- (void)liuDog
{
     //让狗跑起来,调用狗的run方法
     [dog run];
}
- (void)weiDog
{
     //让狗吃东西,调用狗的eat方法
    [dog eat];

}
@end

0 个回复

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