使用继承实现genericqueue
时间: 2023-06-05 16:47:23 浏览: 90
使用继承实现genericqueue可以通过定义一个父类GenericQueue,然后在子类中继承该父类并实现具体的类型,例如:
```
class GenericQueue<T> {
private T[] queue;
private int size;
public GenericQueue() {
queue = (T[]) new Object[10];
size = 0;
}
public void enqueue(T item) {
if (size == queue.length) {
resize();
}
queue[size++] = item;
}
public T dequeue() {
if (size == 0) {
throw new NoSuchElementException();
}
T item = queue[0];
for (int i = 0; i < size - 1; i++) {
queue[i] = queue[i + 1];
}
queue[--size] = null;
return item;
}
public int size() {
return size;
}
private void resize() {
T[] newQueue = (T[]) new Object[queue.length * 2];
for (int i = 0; i < size; i++) {
newQueue[i] = queue[i];
}
queue = newQueue;
}
}
class StringQueue extends GenericQueue<String> {
// additional methods or fields specific to StringQueue
}
class IntegerQueue extends GenericQueue<Integer> {
// additional methods or fields specific to IntegerQueue
}
```
在上面的例子中,我们定义了一个泛型类GenericQueue,它包含了enqueue、dequeue和size等方法。然后我们定义了两个子类StringQueue和IntegerQueue,它们分别继承了GenericQueue并指定了具体的类型。这样我们就可以使用StringQueue和IntegerQueue来存储字符串和整数了。
阅读全文