Scala Tutorial – Opi luomaan ja käyttämään liitännäisobjekteja

Vaiheet

1. Yksinkertaisen luokan määrittely Donut-objektin esittämiseksi

Aloitetaan määrittelemällä yksinkertainen luokka, joka edustaa Donut-objektia, jolla on ominaisuudet name ja productCode. Tämä esimerkki on kertausta edellisestä opetusohjelmasta Kuinka luoda luokkia ja objekteja Scalassa.

Samoin kuin edellisessä opetusohjelmassa, olkoon meillä myös print()-funktio, joka tulostaa annetulle donitsiobjektille nimen ja productCoden. Jos funktioiden luominen Scalassa ei ole sinulle tuttua, voit palata Funktiot-oppaaseen.

2. Miten donitsi-luokalle ilmoitetaan seuraajaobjekti

Seuraajaobjekti määritellään object-avainsanalla ja objektin nimen tulee olla sama kuin luokan nimi.

Lisäksi companion-olion tulisi määritellä apply()-metodi, joka vastaa kyseisen luokan instanssin instansioinnista.

Sen vuoksi, että Donut-luokka vaiheesta 1 vaatii name- ja productCode-ominaisuudet, annamme myös samanlaiset input-parametrit apply()-metodille, kuten alla on esitetty.

3. Donut-luokan instanssien luominen companion-olion avulla

Vaiheessa 2 edellä määritellyn companion-olion avulla voit nyt luoda Donut-luokan instansseja ilman, että sinun tarvitsee käyttää new-avainsanaa.

Huomautus:

  • Voidaan toki väittää, että companion-olio ei oikeastaan tuota mitään muuta erityistä lisäarvoa kuin sen, ettei new-avainsanaa tarvitse käyttää.
  • Seuraavassa opetusohjelmassa näytän kuitenkin, miten companion-objektin apply()-metodia voidaan käyttää luokkasi tehtaana.

4. Kuinka kutsua print-funktiota jokaiselle donut-objektille

Kutsutaan seuraavaksi print()-funktiota donut-objekteistamme alla esitetyllä tavalla.

println("\nStep 4: How to call function on each Donut object")glazedDonut.printvanillaDonut.print

Sinun pitäisi nähdä seuraava ulostulo, kun suoritat Scala-sovelluksesi IntelliJ:ssä:

Step 4: How to call the print function for each of the Donut objectDonut name = Glazed Donut, productCode = 1111Donut name = Vanilla Donut, productCode = 2222

Vastaa

Sähköpostiosoitettasi ei julkaista.