Java – Ülem- ja alamklassid (Ülesanne 10)

Pärimine (inheritance)

Kui Javas muutub klasside loomise struktuur keerulisemaks, siis esimesena tutvutakse kontseptsiooniga pärilus (inheritance). See tähendab, et olemasolevast klassist saame luua alamklasse, ilma põhiklassi muutmata. Tegemist on klasside hierarhiaga, kus ülemklassis (superclass, parent class) lood põhiväljad ja meetodid, mis kanduvad üle alamklassile (subclass, child class). Kuid alamklassis saad luua uusi väljasid ja meetodeid vastavalt eripärale. Kogu seda mehhanismi, kus alamklass sõltub ülemklassist, nimetataksegi päriluseks või ka laiendamiseks.

Kõige lihtsam on seda kirjeldada näiteks loomadega. Ülemklassiks ongi Loom. Alamklassideks on aga näiteks imetajad, roomajad, linnud, kahepaiksed ja kalad.

Ülemklassiga määrame kõigile klassidele ühised omadused nagu näiteks sugu, toitumine ja kas on püsi- või kõigusoojased. Alamklassid saavad kasutada ülemklassist pärit muutujaid ja meetodeid. See tähendab, et neid ei pea neid iga kord iga alamklassiga uuesti looma. Ülemklasse võib olla ainult üks (va Object-tüüpi alamklass).

Alamklasse ja selle hargnemisi võib olla mitu. Alamklassiga saab lisaks ainult talle omaseid muutujaid ja meetodeid. Alloleval skeemil on näha, kes haugub, kes krooksub jne.

Paneme selle ka siis koodi. Kõige pealt ülemklass Loom.java. Lisame selle kõik paketti zoo.

Pane tähele, et kasutame muutuja puhul protected võtmesõna, mis lubab ligipääsu ainult samal ja alamklassidel. Alamklassist toon ainult ühe näite Imetaja.java. Et määrata, mis on selle klassi ülemklass, kasutame võtmesõna extends

Loome testimiseks siis App.java ning uue Imetaja. Esimese kommentaari alla lisasin meetodid, mis tulevad otse põhiklassist. Kasuta meetodeid, nagu oleks need selle omad. Ja kuna alamklassil on oma meetodid, siis saame kasutada ka neid. Läbi alamklasside saame kasutada sama meetodit, kuigi nende väljund võib olla erinev (polümorfism).

Meetodite ülekirjutamine (@Override)

Java võimaldab alamklassis samanimelist meetodit, mis on ülemklassis, üle kirjutada. Sellisel juhul kasutatakse @Override viidet. Võtame näiteks temp() meetodi.

Ja nüüd ülemklassis loodud temp() meetod väljastab midagi muud.

JAR faili loomine

JAR (Java Archive) on platvormist sõltumatu Java kompileeritud failide kokkupakkimisformaat. See põhineb populaarsel ZIP algoritmil, seega võid pärast neid avada mõne kokkupakkimisprogrammiga.

Eclipse IDE:

  1. parem klikk projektile ja vali Export>Java>JAR file
  2. täpsusta, mida soovid kokku pakkida, vali koht ja Finish. Need vaikimisi seaded sobivad esialgu küll.

Kui see fail nüüd näiteks WinRar’iga avada, siis oleks seal sees nii:

JAR faili käivitamiseks ava cmd ja liigu kataloogi, kuhu faili paigutasid. Minu puhul näiteks töölaud.

Järgmisena trüki sisse järgmine käsk

Viimane osa käsureast tuleb paketinimest ja klassist, kus asub põhimeetod main().

Ülesanne 10

Attachments1

SEE ALLAdd a note
YOU
Add your Comment

Viimased postitused

Meist

metshein.com on pakkunud juba üle kümne aasta tasuta eestikeelseid infotehnoloogiaga seotud kursusi. Sama kurssi püütakse järgida ka edaspidi. Eesmärk muuta arvutiõpe võimalikult lihtsaks!

metshein.com: parim eestikeelne koolitusportaal

Kontakt: kliki siia

Hetkel õpivad:

There are no users currently online

Kontrolli tunnistust

Tööribale