首页 > 代码库 > [Objective-c 基础 - 1.2] OC的基本类

[Objective-c 基础 - 1.2] OC的基本类

  1 #import <Foundation/Foundation.h>  2   3 typedef enum {GenderMan, GenderFemale} Gender;  4   5 typedef enum {ColorRed, ColorBlue, ColorGreen} Color;  6   7 typedef struct  8 {  9     int year; 10     int month; 11     int day; 12 } Date; 13  14  15 @interface Dog : NSObject 16 { 17 @public 18     float weight; 19     Color color; 20 } 21 - (void) eat; 22 - (void) run; 23  24 @end 25  26  27 @interface Student : NSObject 28 { 29     @public 30     char *name; 31     Gender gender; 32     Date birthday; 33     double weight; 34     Color favariteColor; 35     Dog *dog; 36 } 37  38 - (void) eat; 39 - (void) run; 40 - (void) walkDog; 41 - (void) feedDog; 42 - (void) print; 43  44 @end 45  46 @implementation Student 47 - (void) eat 48 { 49     weight++; 50     NSLog(@"吃吃吃,体重增加了1KG, 现在体重是%f", weight); 51 } 52  53 - (void) run 54 { 55     weight--; 56     NSLog(@"跑跑跑,体重减去了1KG,现在体重是%f", weight); 57 } 58  59 - (void) print 60 { 61     NSLog(@"这个学生的资料-》姓名:%s, 性别:%d, 生日:%d-%d-%d, 体重:%f, 喜爱的颜色:%d", name, gender, birthday.year, birthday.month, birthday.day, weight, favariteColor); 62 } 63  64 - (void) walkDog 65 { 66     [dog run]; 67 } 68  69 - (void) feedDog 70 { 71     [dog eat]; 72 } 73 @end 74  75  76 @implementation Dog 77 - (void) eat 78 { 79     NSLog(@"喂狗啦!!!"); 80     weight++; 81     NSLog(@"狗狗吃吃吃,体重增加了1KG, 现在体重是%f", weight); 82 } 83  84 - (void) run 85 { 86     NSLog(@"遛狗啦!!!!"); 87     weight--; 88     NSLog(@"狗狗跑跑跑,体重减去了1KG,现在体重是%f", weight); 89 } 90 @end 91  92 int main() 93 { 94     Student *stu = [Student new]; 95     stu->name = "Jack"; 96     stu->gender = GenderMan; 97     Date d = {1989, 8, 10}; 98     stu->birthday = d; 99     stu->weight = 50;100     stu->favariteColor = ColorRed;101    102     Dog *dog = [Dog new];103     stu->dog = dog;104    105     [stu eat];106     [stu feedDog];107     [stu print];108     [stu walkDog];109     [stu feedDog];110    111     return 0;112 }

 

[Objective-c 基础 - 1.2] OC的基本类