「可是老爹,这样做有什么意义么?我们完全可以直接用数字0到6来表示一周啊。」
「的确是这样,但是你考虑到这个问题没有,不同的人定义的习惯可能不一样。比如说我们中国人数数习惯从1开始,那么有可能用1到7来分别表示星期一到星期天。
但是在程序的世界里,一切都是从0开始的,那么也有很多人像我刚才一样,使用0到6分别表示星期天到星期六。
如果时间太久了,我们可能就会忘记到底是使用哪种方式来表示的了,况且数字在使用的时候可读性也比较差。
但若是使用枚举,这些问题都迎刃而解了。我们要使用星期几,只需要使用它的英文名称就好了。不仅不会混乱,而且见名知意。」
「那也不一定非得使用这啊,我们还是可以定义常量,使用起来也比较方便啊。」
我很是不服气地说道。
「是的,其实在枚举刚出来的时候,很多人也跟你一样,毕竟习惯了使用定义常量的方式,但是后来就慢慢地接受了这种方式。
你非得要使用常量来定义,也没错,但是有些不合群。
这就好比大夏天其他人都穿着T恤,而你却穿着大红色羽绒服到处跑,别人也不能把你怎么样,毕竟不违法乱纪,也没有影响别人。所以自然不会有人把你拦住,非要你把羽绒服脱下来。
其他人只会在背后悄悄议论,说你怎样怎样。
写程序也是一样的,毕竟真正开发的时候代码不会只交给一个人来写或者维护。所以在写代码的时候就需要注意一些,不能太特立独行,最好还是采用大家都能够接受的风格。
呐,定义了枚举,我们就需要使用它。
枚举和其他数据类型一样,可以定义变量,只不过变量的值只能是定义的字段。例如:
enum week w = Friday;
或者定义在函数的形式参数上:
String weekToString(enum Week weekday)
{
switch (weekday)
{
case Sunday:
return “星期天“;
case Monday:
return “星期一“;
case Tuesday:
return “星期二“;
case Wednesday:
return “星期三“;
case Thursday:
return “星期四“;
case Friday:
return “星期五“;
case Saturday:
return “星期六“;
deault:
return “错误“;
}
}
通过这两个例子可以看出,我们在声明一个枚举变量的时候,还需要加上一个enum关键字,看上去有些多余。
要解决这个问题,还是需要请typede它老人家出马。如果在定义枚举的时候加上typede,声明枚举变量的时候就不需要再使用enum关键字了:
typede enum
{
Sunday = 0,
……
} Week;
声明变量:
week w = Friday;
String weekToString(Week weekday);」