|
|
- Tässä tehtävässä harjoitellaan olioiden luomista ja niiden metodien kutsumista käyttäen apuna alla olevaa valmista Auto-luokkaa. Tallenna tehtävänannon lopussa oleva luokka itsellesi tiedostoon Auto.java ja luo uusi luokka AutoOhjelma, jonka main-metodissa teet seuraavat toimenpiteet:
-
- 1) Luo uusi "Tesla"-merkkinen auto ja laita viittaus tähän olioon talteen muuttujaan
- 2) Luo toinen "BMW"-merkkinen auto ja laita viittaus tähän olioon talteen eri muuttujaan
- 3) Kutsu Teslan aja-metodia arvolla 100.
- 4) Kutsu BMW:n aja-metodia arvolla 98.
- 5) Kutsu Teslan aja-metodia arvolla 23.
- 6) Tulosta Teslan merkkijonoesitys (toString) omalle rivilleen
- 7) Tulosta BMW:n merkkijonoesitys (toString) omalle rivilleen
-
- Huom! Koska kilometrit on yksityinen muuttuja, sen arvoa ei voida muuttaa luokan ulkopuolelta. Sinun on siis muutettava arvoa julkisen aja-metodin kautta.
-
- **Auto.java**
-
- ```
- // Tallenna tämä luokka itsellesi Auto.java-nimiseen tiedostoon.
-
- public class Auto {
-
- /*
- * Nämä muuttujat ovat jokaiselle autolle yksilölliset ja ne säilyvät koko olion
- * olemassaolon ajan.
- */
- private String merkki;
- private int kilometrit;
-
- /**
- * Tällä konstruktorilla alustetaan olion muuttujiin new-luontikäskyssä annetut
- * arvot.
- *
- * @param merkki
- */
- public Auto(String merkki) {
- this.merkki = merkki;
- this.kilometrit = 0;
- }
-
- /**
- * Tällä julkisella metodilla tarjotaan ulkopuolisille luokille mahdollisuus
- * muuttaa auton matkamittaria.
- *
- * @param kilometrit Kasvatettava kilometrimäärä kokonaislukuna
- */
- public void aja(int kilometrit) {
- this.kilometrit += kilometrit;
- }
-
- /**
- * toString-metodin avulla olioista voidaan muodostaa automaattisesti loogisia
- * merkkijonoesityksiä.
- */
- @Override
- public String toString() {
- return this.merkki + ", " + this.kilometrit + " km.";
- }
- }
- ```
-
- ```
- Example output:
- Tesla, 123 km.
- BMW, 98 km.
- ```
-
- ------------------
-
- **AutoOhjelma.java**
-
- ```
- /*
- 1. Luo uusi "Tesla"-merkkinen auto ja laita viittaus tähän olioon talteen muuttujaan
- 2. Luo toinen "BMW"-merkkinen auto ja laita viittaus tähän olioon talteen eri muuttujaan
- 3. Kutsu Teslan aja-metodia arvolla 100.
- 4. Kutsu BMW:n aja-metodia arvolla 98.
- 5. Kutsu Teslan aja-metodia arvolla 23.
- 6. Tulosta Teslan merkkijonoesitys (toString) omalle rivilleen
- 7. Tulosta BMW:n merkkijonoesitys (toString) omalle rivilleen
- */
-
- public class AutoOhjelma {
-
- public static void main(String[] args) {
-
- Auto Tesla = new Auto("Tesla");
- Auto BWM = new Auto("BMW");
- Tesla.aja(100);
- BWM.aja(98);
- Tesla.aja(23);
- System.out.println(Tesla.toString());
- System.out.println(BWM.toString());
-
- }
- }
- ```
|