|
|
- Tässä tehtävässä harjoittelemme toString-metodin määrittelyä muokkaamalla valmista koodia. Seuraavaksi on esitetty luokka Agentti, jolla on etunimi ja sukunimi:
-
- ```
- public class Agentti {
-
- private String etunimi;
- private String sukunimi;
-
- public Agentti(String etunimi, String sukunimi) {
- this.etunimi = etunimi;
- this.sukunimi = sukunimi;
- }
-
- public void tulosta() {
- System.out.println("My name is " + sukunimi + ", " + etunimi + " " + sukunimi);
- }
- }
- ```
-
- Luokalle on määritelty metodi tulosta, joka luo seuraavanlaisen merkkijonoesityksen:
-
- ```
- Agentti bond = new Agentti("James", "Bond");
- bond.tulosta(); // Tulostaa: My name is Bond, James Bond
- ```
-
- Tallenna luokka itsellesi tiedostoon Agentti.java ja poista luokan metodi tulosta. Luo luokalle uusi metodi public String toString(), joka palauttaa edellämainitun merkkijonoesityksen.
-
- Luokan tulee toimia jatkossa seuraavasti:
-
- ```
- Agentti bond = new Agentti("James", "Bond");
-
- bond.toString(); // ei tulosta mitään
- System.out.println(bond); // Tulostaa: My name is Bond, James Bond
-
- Agentti ionic = new Agentti("Ionic", "Bond");
- System.out.println(ionic); // Tulostaa: My name is Bond, Ionic Bond
- ```
-
- ```
- Example output:
- = Suoritetaan koodi =
- Agentti agentti = new Agentti("Johnny" , "English");
- System.out.println(agentti);
-
- = Ohjelman tuloste =
- My name is English, Johnny English
- ```
-
- ------------------
-
- **Agentti.java**
-
- ```
- public class Agentti {
-
- private String etunimi;
- private String sukunimi;
-
- public Agentti(String etunimi, String sukunimi) {
- this.etunimi = etunimi;
- this.sukunimi = sukunimi;
- }
- /*
- public void tulosta() {
- System.out.println("My name is " + sukunimi + ", " + etunimi + " " + sukunimi);
- }
- */
- public String toString() {
- return "My name is " + this.etunimi + ", " + this.sukunimi;
- }
- }
- ```
|