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