[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 }