黑马程序员----Objective-C学习笔记之OC基础练习笔记
2015-10-03 22:49
519 查看
------Java培训、Android培训、iOS培训、.Net培训--------
打印结果:
2015-10-03 22:45:43.959 PersonAndDoa[2220:303] Lisa eat Rich wiht Shit,然后打了一个饱嗝,吃完体重为20.90
2015-10-03 22:45:43.961 PersonAndDoa[2220:303] Lisa 撒欢跑了起来,跑完后体重为:20.40
2015-10-03 22:45:43.962 PersonAndDoa[2220:303] Lisa eat Shit,然后打了一个饱嗝,吃完体重为20.90
2015-10-03 22:45:43.963 PersonAndDoa[2220:303] [name:Lisa sex:0 weight:20.90 color:2 speed:10.90]
2015-10-03 22:45:43.963 PersonAndDoa[2220:303] Lisa 与Blue的颜色不相同
2015-10-03 22:45:43.963 PersonAndDoa[2220:303] Lisa 的速度小于Blue的速度
看了一天OC,根据视频上老师的要求,自己动手写了个小例子。欢迎大家指出不足的地方 【要求】 设计一个“狗”类 1)属性 颜色、速度(m)、性别,体重(kg) 2)行为 吃:每吃一次,体重增加0.5kg,输出处完后的体重 叫:输出所有属性 跑:每跑一次,体重减少0.5kg,输出速度和跑完后的体重 比较颜色:跟别的狗一样,两个值做减法得零,返回NO,不一样,做减法得到非零,返回YES 比较速度:跟别的狗比较速度,返回速度差 【代码实现如下】 |
#import <Foundation/Foundation.h> #pragma mark 枚举变量定义部分 //定义颜色 typedef enum{Black,Red,White,Yellow,Silver}Color; //定义性别 typedef enum{Female,Male} Sex; #pragma mark 狗类定义部分 @interface Dog : NSObject{ @public NSString *_name; //名字 float _weight; //体重 Color _color; //颜色 Sex _sex; //性别 float _speed; //速度 } //吃东西 _weight+=0.5 -(void)eat:(NSString*)food; //运动 _weight-=0.5 -(void)run; //bark 叫-->打印狗的所有信息 -(void)bark; //与其他狗比较颜色,相同返回YES,不同返回NO -(BOOL)compareColorWithOther:(Dog*)dog; //与其他狗比较速度,返回速度差 -(float)compareSpeedWithOther:(Dog*)dog; @end #pragma mark 狗类实现部分 @implementation Dog //狗吃东西_weight += 0.5 -(void)eat:(NSString *)food{ self->_weight += 0.5; NSLog(@"%@ eat %@,然后打了一个饱嗝,吃完体重为%.2f",self->_name, food, self->_weight); } //狗运动_weight -= 0.5 -(void)run{ self->_weight -= 0.5; NSLog(@"%@ 撒欢跑了起来,跑完后体重为:%.2f",self->_name,self->_weight); } //狗叫 -(void)bark{ NSLog(@"[name:%@ sex:%d weight:%.2f color:%d speed:%.2f]",_name,_sex,_weight,_color,_speed ); } //与其他狗比较颜色,与其他狗颜色相同返回NO,否则返回YES -(BOOL)compareColorWithOther:(Dog *)dog{ return _color-dog->_color != 0 ? YES : NO; } //与其他狗比较速度,返回速度差 -(float)compareSpeedWithOther:(Dog *)dog{ return _speed - dog->_speed; } @end int main(int argc, const char * argv[]) { @autoreleasepool { //定义第一只狗 Dog *dog1 = [[Dog alloc] init]; dog1->_name = @"Lisa"; dog1->_weight = 20.4f; dog1->_sex = Female; dog1->_color = White; dog1->_speed = 10.9f; //定义第二只狗 Dog *dog2 = [Dog new]; dog2->_name = @"Blue"; dog2->_weight = 40.6f; dog2->_sex = Male; dog2->_color = Black; dog2->_speed = 30.9f; //dog1执行动作 [dog1 eat:@"Rich wiht Shit"]; [dog1 run]; [dog1 eat:@"Shit"]; [dog1 bark]; //两只狗比较颜色 if (![dog1 compareColorWithOther:dog2]) { NSLog(@"%@ 与%@的颜色相同",dog1->_name, dog2->_name); } else{ NSLog(@"%@ 与%@的颜色不相同",dog1->_name, dog2->_name); } //两只狗比较速度 float temp = [dog1 compareSpeedWithOther:dog2]; if([dog1 compareSpeedWithOther:dog2] >= 0){ NSLog(@"%@ 的速度大于等于%@的速度",dog1->_name, dog2->_name); } else{ NSLog(@"%@ 的速度小于%@的速度",dog1->_name, dog2->_name); } } return 0; }
打印结果:
2015-10-03 22:45:43.959 PersonAndDoa[2220:303] Lisa eat Rich wiht Shit,然后打了一个饱嗝,吃完体重为20.90
2015-10-03 22:45:43.961 PersonAndDoa[2220:303] Lisa 撒欢跑了起来,跑完后体重为:20.40
2015-10-03 22:45:43.962 PersonAndDoa[2220:303] Lisa eat Shit,然后打了一个饱嗝,吃完体重为20.90
2015-10-03 22:45:43.963 PersonAndDoa[2220:303] [name:Lisa sex:0 weight:20.90 color:2 speed:10.90]
2015-10-03 22:45:43.963 PersonAndDoa[2220:303] Lisa 与Blue的颜色不相同
2015-10-03 22:45:43.963 PersonAndDoa[2220:303] Lisa 的速度小于Blue的速度
相关文章推荐
- ISMAR 2015 Poster - Remote Mixed Reality System Supporting Interactions with Virtualized Objects
- 望大神批评教育国庆无聊之作:ObjectValidator
- 类与对象在内存中的分布情况
- [摘要]Effective Objective-C 2.0(四)
- [演示示例程序]Objective-C受委托的设计模式(牛仔女孩)
- 【IOS 开发学习总结-OC-29】★★objective-c之foundation 框架——(集合类)数组
- 【iOS 开发】Objective - C 面向对象 - 方法 | 成员变量 | 隐藏封装 | KVC | KVO | 初始化 | 多态
- 【iOS 开发】Objective - C 面向对象 - 方法 | 成员变量 | 隐藏封装 | KVC | KVO | 初始化 | 多态
- 为什么equals(Object o)相等,hashCode()必须相等
- libdb2.so.1: cannot open shared object file: No such file or directory
- Objective-C浅拷贝和深拷贝
- Objective-C占位符(转载)
- 11.29_常见对象(Object类的equals()方法代码优化).avi
- 11.28_常见对象(Object类的equals()方法).avi
- Objective-C中的一些特殊的数据类型 SEL、id、@、nil、Nil
- Objective-C辛格尔顿
- Swift 和Objective-C 性能对比
- Swift 和Objective-C 代码格式对比
- OC基础-内存管理(二)MyArray解释addObject原理
- 解决编译错误:Property 'value' not found on object of type '_strong id'