Kolekcja

Witam, mam do zrobienia klasę, której szkielet wygląda następująco:

[code]class Kolekcja
def swap(i,j)
// zamieniamy miejscami elementy i-ty i j-ty
end

def length()
// zwraca liczbę elementów kolekcji
end

def get(i)
// zwraca i-ty element
end
end[/code]
I teraz nie do końca wiem jak się za to zabrać.
Każdy element powinien posiadać id oraz wartość?
A może powinienem zrobić podklasę klasy kolekcja zawierającą elementy?

Napisz klasę która dziedziczy po Array. Metodę length masz za darmo wtedy, tablica.get(i) to tak jak tablica[i], tylko metodę swap(i,j) zaimplementować.

Ok, zrobiłem jak mówiłeś, tylko nie wiem gdzie popełniłem błąd.

[code]class Kolekcja
id = 0
tablica = 0

def add(i)
tablica[id] = i
id = id + 1
puts "dodano do kolekcji " + tablica[i]
end

def swap(i, j)
x = tablica[i]
y = tablica[j]

tablica[i] = y
tablica[j] = x
puts "zamieniono miejscami " + tablica[i] + " z " + tablica[j] 

end

def length()
puts "rozmiar kolekcji to " + talica.length
end

def get(i)
puts i + " element kolekcji to " + tablica[i]
end

end

if FILE == $0
t = Kolekcja.new
t.add(4)
t.add(5)
end[/code]

[code=ruby]class Kolekcja < Array
def swap(i,j)
self[i], self[j] = self[j], self[i]
end

def length()
super
end

def get(i)
self[i]
end
end[/code]