【发布时间】:2016-06-14 15:25:58
【问题描述】:
我正在开发一个用 Eiffel 语言编写的规划软件,我创建了以下代码,但我不太确定应该为此类例程指定哪种后置条件和/或前置条件。
如果您能为此提供语法提示,那就太好了,因为我不是埃菲尔语言的大师,而且它的关键字对于我目前的知识水平来说仍然有点棘手和难以理解。
class TIME
feature -- Initialization
make (one_hour, one_min, one_sec: NATURAL_8)
-- Setup ‘hour’, ‘minute’, and ‘seconds’ with
-- ‘one_hour’, ‘one_min’, and ‘one_sec’, as corresponds.
require
do
hour := one_hour
minute := one_min
second := one_sec
ensure
end
feature -- Setters
set_hour (one_hour: NATURAL_8)
-- Updates `hour' w/ value ‘one_hour’.
require
do
hour := one_hour
ensure
end
set_min (one_min: NATURAL_8)
-- Updates `minute' w/ value ‘one_min’.
require
do
minute := one_min
ensure
end
set_sec (one_sec: NATURAL_8)
-- Updates `second' w/ value ‘one_sec’.
require
do
second := one_seg
ensure
end
feature -- Operation
tick
-- Counts a tick for second cycle, following 24 hr format
-- During the day, “tick” works as follows
-- For example, the next second after 07:28:59 would be
-- 07:29:00. While the next second of 23:59:59
-- is 00:00:00.
do
ensure
end
feature -- Implementation
hour: NATURAL_8
minute: NATURAL_8
second: NATURAL_8
invariant
range_hour: hour < 24
range_minute: minute < 60
range_second: second < 60
end
【问题讨论】:
-
那么,您的问题到底是什么?您在制定合同或用埃菲尔表达合同时遇到问题吗?
-
是的,我在用 Eiffel 表示它们时遇到问题,因为不明白必须使用哪种语法表达式、关键字等以及按什么顺序,我有一本书但没有足够的时间仔细看,老板催我尽快生成新代码。
标签: project-organization eiffel application-planning