numele final al coardei;
valoarea obiectului privat = null;
public Attr (numele șirului)
publiс Attr (Nume șir, valoare obiectiv)
public String getName ()
obiect public getValue ()
obiect public Obiect setValue (Object newValue)
Obiect oldVal = Valoare;
public String toString ()
retur numele + "=" "+ valoare" "";
Următoarea clasă pe care o vom examina extinde conceptul de atribut, permițându-i să fie completat cu informații despre culoare. Descriere de culoare dat nici un nume, cum ar fi „roșu“ sau „ecru“, care ar trebui să existe într-un tabel, sau numărul admite posibilitatea transformării de a obține un standard, o formă mai eficientă de reprezentare a culorilor numit de contact (presupunând că clasa corespunzătoare definită mai devreme). Funcționarea convertirii unei descrieri de culoare într-un obiect de tip este laborioasă, așa că am dori să o realizăm doar o singură dată. Extindem clasa Attr și o creăm pe bază.
clasa ColorAttr extinde Attr
privat Screencolor myColor; // Culoarea decodificată
public ColorAttr (Super-șir (nume, valoare)
public ColorAttr (numele șirului)
public ColorAttr (numele șirului, valoarea ScreenColor)
obiect public Object setVal (Object newValue)
// valoarea apelului inițial pentru clasa de bază
Object retval = super.setvalue (newValue);
/ ** atribuire în obiectul myColor * screenColor, nu descrierea * /
public screenColor setvalue (screencolor newValue)
// Mai întâi numim valoarea de referință a clasei de bază
ScreenColor oldValue = myColor;
/ ** obținerea obiectului screenColor * cu culoarea decodificată * /
public screenColor getColor ()
/ ** atribuirea de valori myColor,
* derivate din descrierea în valoare * /
protejat void decodeColor ()
dacă (getValue () == null)
myColor = nou ecranColor (getValue ());
Noua clasă moștenește ColorAttr (lărgește) clasa Attr - el este capabil să îndeplinească toate funcțiile Attr clasa și dotate cu altele noi. Astfel, Attr este o clasă de bază, iar CotorAttr este o clasă derivată. Ierarhia claselor - în direcția de la derivați la cea de bază - în acest caz poate fi reprezentată după cum urmează: Culoare -> Attr -> Obiect.
Clasa extinsă ColorAttr face următoarele:
· Oferă trei versiuni de designeri - două dintre ele „oglinda“ constructori funcția de afișare a clasei de bază, iar al treilea interacționează direct cu obiectul screenColor;
· Simultan suprascrie și metoda suprasarcini clasă de bază SetValue astfel încât să permită atribuirea unei noi componente de culoare a atributului;
· Conține o nouă metodă getColor care returnează o valoare care este o descriere a culorii convertită la un obiect ScreenColor.
În următoarele secțiuni vom încerca să vă spun despre complexitatea moștenirii și influența pe care în proces sunt supuse la diverși membri ai clasei.