Kroky
1. Jak definovat jednoduchou třídu reprezentující objekt Donut
Začneme definicí jednoduché třídy, která bude reprezentovat objekt Donut s vlastnostmi name a productCode. Tento příklad je přehledem z předchozího tutoriálu Jak vytvářet třídy a objekty ve Scale.
Podobně jako v předchozím tutoriálu mějme také funkci print(), která vypíše jméno a productCode pro daný objekt Donut. Pokud nejste obeznámeni s vytvářením funkcí v jazyce Scala, můžete se vrátit k návodu na funkce.
2. Jak deklarovat doprovodný objekt pro třídu Donut
Provodný objekt se definuje pomocí klíčového slova object a název objektu by měl být totožný s názvem třídy.
Doprovodný objekt by měl navíc definovat metodu apply(), která bude zodpovědná za instanciaci instance dané třídy.
Protože třída Donut z kroku 1 vyžaduje vlastnosti name a productCode, zadáváme podobné vstupní parametry také metodě apply(), jak je uvedeno níže.
3. Jak vytvořit instance třídy Donut pomocí doprovodného objektu
Pomocí doprovodného objektu definovaného v kroku 2 výše můžete nyní vytvářet instance třídy Donut, aniž byste museli používat klíčové slovo new.
Poznámka:
- Jistě můžete namítnout, že doprovodný objekt ve skutečnosti nepřináší žádnou zvláštní hodnotu kromě toho, že nemusíte používat klíčové slovo new.
- V příštím tutoriálu vám však ukážu, jak lze metodu apply() objektu companion použít jako továrnu pro vaši třídu.
4. V příštím tutoriálu vám ukážu, jak lze metodu apply() objektu companion použít jako továrnu pro vaši třídu. Jak zavolat funkci print pro každý z objektů donutů
Dále zavoláme funkci print() z našich objektů donutů, jak je uvedeno níže.
println("\nStep 4: How to call function on each Donut object")glazedDonut.printvanillaDonut.print
Po spuštění aplikace Scala v IntelliJ byste měli vidět následující výstup:
Step 4: How to call the print function for each of the Donut objectDonut name = Glazed Donut, productCode = 1111Donut name = Vanilla Donut, productCode = 2222
.