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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

跟着视频敲出来的,理解以后敲几遍。有助于体会面向对象的真谛。代码如下:
#import <Foundation/Foundation.h>
typedef enum
{
        ColorBlack,
        ColorRed,
        ColorBlue
}Color;

typedef struct
{
        int year;
        int month;
        int day;
}Date;

typedef enm
{
        SexMan,
        SexWomen
}Sex;

@interface Dog:NSObject
{
        @public
        double weight;
        Color curColor;
}
- (void)run;
- (void)eat;
@end

@implementation Dog
- (void)run
{
        weight -= 1;
        NSLog(@"狗跑完这圈以后我的体重是%f.2",weight);
}

- (void)eat
{
        weight += 1;
        NSLog(@"狗吃完这顿以后我的体重是%f.2",weight);
}
@end

@interface Person:NSObject
{
        @public
        Sex sex;
        int weight;
        Date birthday;
        Color favColor;
        char *name;
        Dog *dog;
       
}
- (void)run;
- (void)eat;
- (void)print;
- (void)liuDog;
- (void)weiDog;
@end

@implementation Person
- (void)run
{
        weight -= 1;
        NSLog(@"跑完这圈以后我的体重是%f.2",weight);
}

- (void)eat
{
        weight += 1;
        NSLog(@"吃完这顿以后我的体重是%f.2",weight);
}

- (void)print
{
        NSLog(@"%d,%d,%s,%d-%d-%d",sex,favColor,name,birthday.year,birthday.month,birthday.day);
}

- (void)liuDog
{
        [dog run];
}
- (void)weiDog
{
        [dog eat];
}
@end

int main()
{
        Person *p = [Person new];
        Dog *dog2 = [Dog new];
        dog2->weight = 20;
        dog2->curColor = ColorRed;
        p->dog = dog2;
        p->weight = 50;
        p->sex = SexMan;
        p->favColor = ColorBlack;
        Date d = {2014,10,14};
        p->birthday = d;
        s->name = "jack";

        [p run];
        [p run];
        [p eat];
        [p eat];
        [p print];

        [p liuDog];
        [p weiDog];
        return 0;
}




评分

参与人数 1技术分 +1 收起 理由
星河鹭起 + 1

查看全部评分

2 个回复

倒序浏览
好帖。。。。。感谢分享,学习了
回复 使用道具 举报
居然没看懂
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马