|
|
- ## 2 Luokka joka tekee jotain
-
- **Tehtävä:**
-
- Toisessa tehtävässä jatketaan luokkien kanssa työskentelyä. Tällä kertaa tehtävänäsi on määritellä luokka Laatikko, jolle alustuksen yhteydessä luodaan jäsenmuuttuja sisus.
-
- Määrittele tälle jäsenmuuttujalle asettaja- ja palauttajametodit, sekä tee alustuksen yhteyteen mahdollisuus määritellä muuttujan arvo, asettaen oletusarvoksi "nil".
-
- Tämän jälkeen kopioi seuraava ohjelmakoodi lähdekoodiisi; koodilla kokeillaan luokkamäärittelyn toimintaa:
-
- ```
- Varasto = Laatikko.new()
- Varasto.sisus = "puuhapakki"
-
- puts "Varastossa on sisällä #{Varasto.sisus}."
- ```
-
- Toimiessaan oikein ohjelma tulostaa seuraavaa:
-
- Example output:
-
- ```
- Varastossa on sisällä puuhapakki.
- ```
-
- **Vastaus**
-
- ```
- #!/usr/bin/env ruby
- # coding: utf-8
-
- class Laatikko
-
- # alustaja
- def initialize(sisalto=nil)
- @sisus = sisalto
- end
-
- # Perinteinen tapa määrittää setter/getter-metodit jäsenmuuttujalle
- #
- # set-metodi
- # def sisus=(sisalto)
- # @sisus = sisalto
- # end
-
- # get-metodi
- # def sisus
- # @sisus
- # end
-
- # Tai yksinkertaisemmin Rubyn omia määritteitä käyttäen
- attr_accessor :sisus
-
- end
-
- Varasto = Laatikko.new()
- Varasto.sisus = "puuhapakki"
-
- puts "Varastossa on sisällä #{Varasto.sisus}."
- ```
|