黑马程序员技术交流社区

标题: 用OC实现Dog类 [打印本页]

作者: 562413895@qq.co    时间: 2015-7-19 20:41
标题: 用OC实现Dog类
//设计一个“狗”的类
#import<Foundation/Foundation.h>
//定义狗的颜色的枚举类型,给枚举类型{{kColorWhite,kColorYellow,kColorBlack} 起别名,为Color           0                 1
typedef enum{kColorWhite,kColorYellow,kColorBlack} Color;
//定义狗的性别的枚举类型,别名是sex
typedef enum{kSexGong,kSexMu,kSexYao} Sex;
#pragma  mark 狗类的声明
//定义一个Dog类
@interface Dog:NSObject
{
//狗类的实例变量
      @public
      Color  _color;
      float  _weight;
      Sex  _sex;
      int  -speed;
      NSString  *_name; //字符串类型的指针
}

   //方法的声明
   //狗的行为
   -(void) eat:(NSString *)foodName;//吃体重+0.5
   -(void)run;//跑体重-0.5
  -(void)bark;//打印所有的信息
-(BOOL)isCompareColor:(Dog  *)dog;//比较狗毛的颜色
-(int)isCompareSpeed:(Dog  *)dog;//比较狗的速度
@end

#pragma  mark 狗类的实现
//类的实现
@implementation Dog
//吃体重+0.5
   -(void) eat:(NSString *)foodName{
   
  NSLog(@"狗正在吃%@",foodName);
}
}
//跑体重-0.5
   -(void)run{
   NSLog(@"狗正在以时速%d的速度奔跑",_speed);
}
//打印所有的信息
  -(void)bark{
NSLog(@"性别:%d,颜色:%d,速度:%d,当前体重%.2f",_sex,_color,_speed,_weight);
}
//比较狗毛的颜色
-(BOOL)isCompareColor:(Dog  *)dog{
//  当前狗的颜色   另一条狗的颜色
  if(_color==dog->_color);
           {return  Yes;}
  else
            {return  No;}
}
//比较狗的速度
-(int)isCompareSpeed:(Dog  *)dog{
      return  _speed-dog->_speed;
}
@end

int main(int argc,const char *argv[])
{
      @autoreleasepool{
            //创建第一条条狗
             Dog  *d1=[Dog new];
             d1->_sex=kSexGong;
             d1->_weight=20;
             d1->_speed=80;
             d1->_color=kColorWhite;
            [d1  bark];//构叫
            [d1  eat:@"一块骨头"];//构吃
            [d1  eat:@"一块肉"];//构吃
            //创建第二条狗
             Dog  *d2=[Dog new];
             d2->_sex=kSexMu;
             d2->_weight=25;
             d2->_speed=60;
             d2->_color=kColorWhite;
            [d2  bark];//构叫
            [d2  eat:@"一块骨头"];//构吃
            [d2  eat:@"一块肉"];//构吃
             //比较两条狗的颜色
             BOOL isSame=[d1  iscompareColor:d2];
             NSLog(@"两狗的颜色=%d",isSame);
            int spe= [d1  iscompareSpeed:d2];
             NSLog(@"速度差=%d",spe);
       }
    return  0;
}

作者: 562413895@qq.co    时间: 2015-7-19 20:42
初学者,整的有些简单啦
作者: 李言    时间: 2015-7-19 21:01
代码很公正哦




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