黑马程序员技术交流社区

标题: 类的合理设计 [打印本页]

作者: m573555543    时间: 2014-5-1 20:22
标题: 类的合理设计
本帖最后由 m573555543 于 2014-5-5 12:09 编辑


  1. ypedef enum {
  2.    
  3.     SexMan,
  4.     SexWoman

  5. }Sex;

  6. // 给 日期 Date 做枚举,用来当成员变量
  7. typedef struct {
  8.    
  9.     int year;
  10.     int month;
  11.     int day;
  12.    
  13. }Date;

  14. 中 enum ,struct  都是什么意思? 还有其他的单词么?


  15. ------------------------



  16. @interface Dog : NSObject
  17. {
  18.     @public
  19.     double weight; // 体重
  20.     Color curColor; // 毛色
  21. }

  22. - (void)eat;
  23. - (void)run;
  24. @end

  25. @implementation Dog
  26. - (void)eat
  27. {
  28.     // 每吃一次,体重就加1
  29.     weight += 1;
  30.     //weight = weight +  1;
  31.     NSLog(@"狗吃完这次后的体重是%f", weight);
  32. }

  33. - (void)run
  34. {
  35.     weight -= 1;
  36.     NSLog(@"狗跑完这次后的体重是%f", weight);
  37. }
  38. @end

  39. @interface Student : NSObject
  40. {
  41.     @public
  42.     Sex sex; // 性别
  43.     Date birthday; // 生日
  44.     double weight; // 体重(kg)
  45.     Color favColor; // 最喜欢的颜色
  46.     char *name;
  47.    
  48.     // 重点:狗
  49.     Dog *dog;   //这句话怎么理解? 如何调用?
  50. }

  51. --------------------
复制代码




作者: 执着的土豆    时间: 2014-5-1 21:00
1.首先enum是枚举,struct是结构体,他们都是自定义的。 关于这个问题,楼主是不是没看c语言?或者c后面的视频没怎么看?掌握c语言后,就不会问这个了。我讲的不会比LMJ老师容易懂,我就不多说了。
2.dog *d, 创建一个指针d指向dog类型。 其实这个最主要的还是要看dog *d后面的=号是什么类型的,他就指向什么类型的,因为dog可以是父类。  调用的话,你还没有给指针d 附值。  

建议楼主再好好看看视频,等你看过了,你再饭回来看这个帖子,到时候你会说,原来那会那个傻子说了半天也就是那么点知识点。
作者: m573555543    时间: 2014-5-1 21:16
执着的土豆 发表于 2014-5-1 21:00
1.首先enum是枚举,struct是结构体,他们都是自定义的。 关于这个问题,楼主是不是没看c语言?或者c后面的 ...

我看2遍了 ,,,,,就是没看明白才问的好么。
作者: 执着的土豆    时间: 2014-5-1 21:20
m573555543 发表于 2014-5-1 21:16
我看2遍了 ,,,,,就是没看明白才问的好么。

先把c语言的知识掌握好,最起码这种关键字出来要会用。 这个在李明杰老师的c语言教学视频里面有讲enum,struct。   你可以好好看看。  

作者: m573555543    时间: 2014-5-1 21:22
执着的土豆 发表于 2014-5-1 21:20
先把c语言的知识掌握好,最起码这种关键字出来要会用。 这个在李明杰老师的c语言教学视频里面有讲enum,st ...

那你怎么不直接说出来当你复习了。
作者: 小海    时间: 2014-5-2 22:41
enum和struct都是构造的数据类型,C语言中除了基本数据类型如int,char外,enum和数组、struct都是构造数据类型,其中enum中存放的都是同一类型的数据,枚举就是一 一列举出来的意思,它定义的变量的取值只能是枚举中列出的这些值中的一个。struct中可以存放多种数据类型,如一个学生结构体中,可以存放int 类型的学号,char类型的名字,floa类型的成绩等。用它可以定义一个变量,后面可以一 一给这些变量赋值或修改。
作者: godlike    时间: 2014-5-3 08:39
定义枚举和结构体时,最好在大括号后边和名字之间有个空格;
还有,枚举里边的每个常量是以逗号分隔的,最后一个不需要逗号;
结构体中的每种数据类型之间是以分号分隔的,最后一个不需要分号
  1. typedef struct {
  2.    
  3.     int year;
  4.     int month;
  5.     int day
  6.    
  7. }  Date;
复制代码





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