oc简单程序实现--人喂狗和遛狗
来源:互联网 发布:ip网络加速器 编辑:程序博客网 时间:2024/04/30 23:54
/**
* 设计一个”狗“类
1> 属性
* 颜色
* 速度(单位是m/s)
* 性别
* 体重(单位是kg)
2> 行为
* 吃:每吃一次,体重增加0.5kg,输出吃完后的体重
* 吠(叫):输出所有的属性
* 跑:每吃一次,体重减少0.5kg,输出速度和跑完后的体重
* 比较颜色:跟别的狗比较颜色,如果一样,两个值做减法得零,返回NO(零值),不一样,做减法得到非零值,返回YES(1)
* 比较速度:跟别的狗比较速度,返回速度差(自己的速度 -其他狗的速度)
*/
#import <Foundation/Foundation.h>
#include <string.h>
typedefenum {gong,mu,yao} gender;
#pragma mark dog声明
@interface Dog : NSObject
{
@public
NSString* _color;
float _speed;
gender _gender;
float _weight;
}
-(void)eat:(int)eatTimes ;
-(void)shout;
-(void)run:(int)runTimes;
-(int)cmpColor: (Dog*)dog;
-(float)subSpeed:(Dog*)dog;
@end
#pragma mark -
#pragma mark dog实现
@implementation Dog
-(void)eat:(int)eatTimes
{
_weight += 0.5 * eatTimes;
NSLog(@"吃完%d次后体重为%.2fkg",eatTimes,_weight);
}
-(void)shout
{
NSLog(@"这条狗的颜色为%@,速度为%.2f,性别为%d,体重为%.2f",_color,_speed,_gender,_weight);
}
-(void)run:(int)runTimes
{
_weight -= 0.5 * runTimes;
NSLog(@"这条狗的速度是%.2fm/s,跑了%d次后体重为%.2fkg",_speed,runTimes,_weight);
}
-(int)cmpColor: (Dog*)dog
{
if(_color == dog->_color)//字符串做比较的函数是?
{
return 1;
}else
{
return 0;
}
}
-(float)subSpeed:(Dog*)dog
{
return _speed - dog->_speed;
}
@end
#pragma mark 人的声明
@interface Person :NSObject
{
@public
NSString* _name;
Dog* _dog;//重点
}
-(void)feedDog;//必须防在Dog声明之后,因为要调用它
-(void)walkWithDog;
@end
#pragma mark 人的实现
@implementation Person
-(void)feedDog
{
NSLog(@"%@喂狗如下",_name);
[_dogeat:8];//?
}
-(void)walkWithDog
{
[_dogrun:7];
}
@end
int main(int argc,const char * argv[])
{
@autoreleasepool
{
Dog* dog1 = [Dognew];
Dog* dog2 = [Dognew];
dog1->_color =@"black";
dog1->_gender =1;
dog1->_speed =7.1f;
dog1->_weight =10.2f;
dog2->_color =@"black";
dog2->_gender =0;
dog2->_speed =5.0f;
dog2->_weight =7.8f;
// [dog1 eat:2];
[dog1shout];
// [dog2 shout];
// [dog1 run:5];
//定义人的对象
Person *p1 = [Personnew];
p1->_name =@"二郎神";
p1->_dog = dog1; //imp
[p1feedDog];
[p1walkWithDog];
// int cmpColor = [dog1 cmpColor:dog2];//可以与方法名一样?
//
// NSLog(@"两条狗颜色比较结果为:%d",cmpColor);
//
// //dog1 和 dog2类型都符合,写谁无所谓,实参是谁,决定了传输谁的信息
// float subSpeed1 = [dog1 subSpeed:dog2];
// NSLog(@"狗1和狗2的速度之差为%.2f",subSpeed1);
NSLog(@"Be Better!");
}
return 0;
}
- oc简单程序实现--人喂狗和遛狗
- 简单的OC程序
- 简单的OC程序
- OC实现简单通讯录
- OC简单实现代理
- OC初识之简单的OC程序
- OC简单程序框架总结
- 01、简单的OC程序
- OC 简单实现图书馆功能
- OC(实现简单通讯录操作)
- OC简单实现链表
- 黑马程序员——OC基础---简单的OC程序
- 01.黑马程序员-简单的OC程序
- 语法基础---简单的oc程序
- OC运行和方法实现
- 仿qq弹出列表的actionSheet用oc ,swift2和安卓的简单实现
- OC实现简单的点名器
- OC实现简单的图文混排
- 矩阵连乘问题(动态规划)
- CentOS系统网络配置的基本4种方式
- C++函数调用的完美灾难
- WebRTC 下载成功经验(无需翻墙)
- iOS的UILabel设置居上对齐,居中对齐,居下对齐
- oc简单程序实现--人喂狗和遛狗
- 广州定额发</option>票
- 深圳餐饮发</option>票
- 深圳定额发</option>票
- 中山餐饮发</option>票
- 中山定额发</option>票
- 东莞餐饮发</option>票
- 东莞定额发</option>票
- 成都餐饮发</option>票