返回第五十三章 尾声(一)(2 / 2)程序媛养成计划首页

「可是老爹,这样做有什么意义么?我们完全可以直接用数字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);」