Get ja Set -luokka

Eli minulla on seuraavanlainen luokka:

public class Name {
private static String name;

/**
* Sets the users name
* @param String n
*/
public void setName(String n) {
this.name = n;
}
/**
* Returns the users name
* @param none
*/
public static String getName() {
return this.name;
}
}

Nyt asetan luokassa C2 alustan uuden olion luokasta Name (Name name = new Name();) ja asetan käyttäjälle nimen (Name.setName("Teppo");

Minun pitäisi kutsua kolmannessa luokassa C3 tuota getName -metodia ja sen tulee palauttaa luokassa C2 asetettu arvo.

Onko tässä tilanteessa järkeä käyttää Static -metodia henkilön nimen saamiseksi? Henkilön nimen asettava metodi on normaali public -tyyppinen?
1782
Äänestä

Muut lukivat myös

Vastaukset 1

Vanhimmat

Sanotaan nyt näin et en itse toteuttais tuota noin, koska tuo staattinen muuttuja on yhteinen kaikille luokan ilmentymille ja kun kerran set-metodi on julkkinen, niin se nimi voi mitä tahansa. Parempaa tapaa on vaikea sanoa, koska ei tiedä ohjelman rakenteesta mitään. Ite lähtisin varmaan tekeen niin, et tekisin C3-luokkaan Name-tyyppisen muuttujan ja sille set- ja get-metodit ja sitä kautta kutsusin tuota getName()-metodia. Näin pääsin eroon tuosta staattisesta muuttujasta Name-luokas.

Äänestä

Kommentoi aloitusta


teppo12 kirjoitti:

Eli minulla on seuraavanlainen luokka:

public class Name {
private static String name;

/**
* Sets the users name
* @param String n
*/
public void setName(String n) {
this.name = n;
}
/**
* Returns the users name
* @param none
*/
public static String getName() {
return this.name;
}
}

Nyt asetan luokassa C2 alustan uuden olion luokasta Name (Name name = new Name();) ja asetan käyttäjälle nimen (Name.setName("Teppo");

Minun pitäisi kutsua kolmannessa luokassa C3 tuota getName -metodia ja sen tulee palauttaa luokassa C2 asetettu arvo.

Onko tässä tilanteessa järkeä käyttää Static -metodia henkilön nimen saamiseksi? Henkilön nimen asettava metodi on normaali public -tyyppinen?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu