黑马程序员技术交流社区
标题:
oc第一天作业请教下各位.
[打印本页]
作者:
oxzjsku
时间:
2015-9-10 18:04
标题:
oc第一天作业请教下各位.
// main.m
// 第三题
//3.结合前面的“狗”类,设计一个“人”类
//1> 属性
//* 姓名
//* 狗(养了一条狗)
//2> 行为
//* 喂狗:每喂一次,狗就会执行“吃”这个行为
//* 遛狗:每溜一次,狗就会执行“跑”这个行为
// Created by mac on 15/9/10.
// Copyright (c) 2015年 zhy. All rights reserved.
复制代码
请教下各位,属性里面的"狗"怎么定义啊? 还有这题的意思是什么, 是直接打印行为里的话, 还是调用之前那个"狗"类, 还是和C语言的多文件开发一样?
在线等,急~.= =
作者:
jx836202365
时间:
2015-9-10 20:47
成员变量是姓名和拥有狗,NSString *_name ;dog _dogName;后面记得把 dog _dog=原来狗对象的狗名字
作者:
kylmetz
时间:
2015-9-10 21:37
需要定义两个类,
作者:
安若曦
时间:
2015-9-10 22:55
这样就可以了[code]#pragma mark 人这个类的定义
@interface Person : NSObject
{
@public
NSString *_name;
Dog *_dog;
}
//行为
//喂狗
-(void)feedDog:(NSString *)foodName;
-(void)walkDog;
//遛狗
@end
#pragma mark 人这个类的实现
@implementation Person
-(void)feedDog:(NSString *)foodName{
//让狗吃东西
[_dog eat:foodName];
}
-(void)walkDog{
//让狗跑起来
[_dog run];
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
//创建狗对象
Dog *d1 = [Dog new];
d1->_speed = 80;
d1->_weight = 20;
d1->_sex = kSexMale;
d1->_color = kColorflower;
//创建一个人的对象
Person *p = [Person new];
//给p一个dog
p->_dog = d1;
NSLog(@"%@",p->_dog);
//人要喂狗
[p feedDog:@"骨头"];
}
return 0;
}
如果你之前已经定义了狗这个类的话,你就可以之间按照我这个写法了,你试试。需要定义两个类,Dog类和Person类的。
在main函数里创建一个Person新对象,给Person一条狗,然后就可以调用方法,打印出来。
作者:
安若曦
时间:
2015-9-10 22:56
//这样就可以了
#pragma mark 人这个类的定义
@interface Person : NSObject
{
@public
NSString *_name;
Dog *_dog;
}
//行为
//喂狗
-(void)feedDog:(NSString *)foodName;
-(void)walkDog;
//遛狗
@end
#pragma mark 人这个类的实现
@implementation Person
-(void)feedDog:(NSString *)foodName{
//让狗吃东西
[_dog eat:foodName];
}
-(void)walkDog{
//让狗跑起来
[_dog run];
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
//创建狗对象
Dog *d1 = [Dog new];
d1->_speed = 80;
d1->_weight = 20;
d1->_sex = kSexMale;
d1->_color = kColorflower;
//创建一个人的对象
Person *p = [Person new];
//给p一个dog
p->_dog = d1;
NSLog(@"%@",p->_dog);
//人要喂狗
[p feedDog:@"骨头"];
}
return 0;
}
如果你之前已经定义了狗这个类的话,你就可以之间按照我这个写法了,你试试。需要定义两个类,Dog类和Person类的。
在main函数里创建一个Person新对象,给Person一条狗,然后就可以调用方法,打印出来。
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2