Konstruktorid, modelleerimine

On antud alljärgnev olukorra kirjeldus.

Iga kujund on mingit värvi (olgu  see värv väljendatud näiteks sõnena).
Ring ja ruut on teatavat liiki kujundid.
Ring on määratud oma raadiusega.
Ruut on määratud oma küljepikkusega.
Iga kujund peab oskama leida oma pidala ning ümbermõõtu.

(Mittematemaatikuile:
Ringi pindala on pii (Math.PI) korda raadius korda raadius.
Ringi ümbermõõt on kaks korda pii korda raadius.
Ruudu pindala on kyljepikkus korda küljepikkus.
Ruudu ümbermõõt on neli korda küljepikkus. )
Koostada seda olukorda kirjeldav Java-programm, s.t. kõik vajalikud klassid/liidesed, konstruktorid ning meetodid.
Kirjeldada konstruktorid kõigi  parameetrikombinatsioonide jaoks (kokku 2 + 5 + 5 tk.) nii, et kujundi värvi määramine toimuks ainult ühes konstruktoris (ülejäänud kasutaksid seda).
Igas klassis kirjeldada meetod  equals(Object) kahe selle klassi objekti võrdsuse tuvastamiseks.
Igas klassis peaks toString() meetod andma maksimaalselt täpse teadaoleva informatsiooni objekti kohta.
Testida kõik loodud konstruktorid jt. meetodid peameetodis.

Proovige visandada UML klassiskeem, mis antud olukorda kirjeldaks.


Jaanus Pöial, 2005