我先把整个问题写下来。
环是具有对当前项的引用的项的集合。一个操作——我们称之为提前——将引用移动到集合中的下一个项目。当引用到达最后一项时,下一个前进操作会将引用移回第一项。环还具有获取当前项目、添加项目和删除项目的操作。添加项目和删除项目的详细信息由您决定。
设计一个 ADT(抽象数据类型)来表示一个对象环。通过说明其目的、描述其参数以及编写其标头的伪代码版本来指定每个操作。然后为环的方法编写一个 Java 接口。在您的代码中包含 javadoc 样式的注释。
那么是不是说 Ring 就像一个具有操作的类,可以通过使用 T = items 之类的引用变量来移动项目?每次调用 Advance 时都会更改 T 以表示不同的项目?类似于 UML 格式的东西....
ADT:环
+advance(): T // move T to next item in collection and if T reaches last item, move T back to the first item.
+getCurrItem(): T // return item that T reference.
+addItem(item T): void // add an item in for T, No return.
+removeItem(Item: T): boolean // remove item that T reference and return true | false if it succeed or not.
我是在正确的轨道上还是我应该做其他事情?