Pereiti prie turinio

Rekomenduojami pranešimai

Laba diena, esu programavime šioks toks naujokas ( tikrai šioks toks). Turiu truputi elementarų klausimą.

Tarkime, kad aš noriu sukurti Java projektą su trimis klasėmis. Programa vykdytų labai paprastą funkciją, t.y. dviejų skaičių sumą. Kaip galima naudoti get ir set funkcijas, paimti jas iš vienos klasės ir kitoje klasėje jas naudoti duomenims įvesti?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Laba diena, esu programavime šioks toks naujokas ( tikrai šioks toks). Turiu truputi elementarų klausimą.

Tarkime, kad aš noriu sukurti Java projektą su trimis klasėmis. Programa vykdytų labai paprastą funkciją, t.y. dviejų skaičių sumą. Kaip galima naudoti get ir set funkcijas, paimti jas iš vienos klasės ir kitoje klasėje jas naudoti duomenims įvesti?

 

 

Jeigu gerai suprantu, tai Tavo viena klasė ten gali būti NumberOne, kita NumberTwo, o trečioj vykdyti turėtum skaičiavimus, jeigu Tau reikia panaudoti 3 klases.

 

Čia StacOverFlow labai žmogiškai paaiškinta.

Getteriai setteriai

Nuoroda į pranešimą
Dalintis kituose puslapiuose
  • po 1 mėnesio...

Šiaip ar taip parašiau tą programą. Taip atrodo visos trys klasės. Gal nelabai protingai parašyta.

 

 

public class SumaA {

 

private int a,b;

 

public int geta(){

return this.a;

}

 

public void seta(int a){

this.a = a;

 

}

 

public int getb(){

return this.b;

}

 

public void setb(int b){

this.b = b;

}}

 

import java.util.Scanner;

public class SumaB {

 

SumaA PirmasA = new SumaA();

Scanner Kintamieji = new Scanner(System.in);

int suma;

 

 

 

public int pirmas(){

 

 

int a = PirmasA.geta();

return a;

 

}

 

 

public int antras(){

 

 

int a = PirmasA.getb();

return a;

 

}

 

 

public int sudek(){

 

PirmasA.seta(Kintamieji.nextInt());

PirmasA.setb(Kintamieji.nextInt());

suma = PirmasA.geta() + PirmasA.getb();

return suma;

}}

 

 

public class SumaC {

 

 

static SumaB AntrasB = new SumaB();

static SumaA PirmasA = new SumaA();

 

public static void main(String[] args){

int atsakymas;

System.out.println("Ivesk panaudodamas tarpus A ir B kintamuosius");

atsakymas = AntrasB.sudek();

 

 

System.out.println("a = "+AntrasB.pirmas());

System.out.println("b = "+AntrasB.antras());

System.out.println("a + b = "+atsakymas);

}

 

 

 

 

 

}

 

 

Šiaip norėjau paklausti kaip programuotojai supranta terminą Implementation ? Nes nelabai suprantu šio žodžio reikšmę.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

O kodėl „main“ įdėta į „class SumaC “? Reikia į atskirą klasę įdėti.

 

Jeigu kodas veikia kaip turi veikti, tada atrodo viskas kaip ir gerai.

 

„Implementation“ - realizavimas.

 

Dar galima mažą refaktoringa padaryti:

vietoj:

 

public int pirmas(){
int a = PirmasA.geta();
return a;
} 

 

public int pirmas(){
return  PirmasA.geta();
}

 

vietoj:

 

public int antras(){
int a = PirmasA.getb();
return a;
}

 

public int antras(){
return  PirmasA.getb();
}

 

 

vietoj:

...
suma = PirmasA.geta() + PirmasA.getb();
return suma; 

 

...
return PirmasA.geta() + PirmasA.getb(); 

Redagavo Arik
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Viskas gerai su “main”. Aš truputi suklydau, dėl tavo klasių pavadinimų. Metodams ir klasems geriau duoti aiškus pavadinimus – pvz. tavo klasėje “SumaA” visiškai nieko nesumuojama, o klase “SumaC” geriau pavadinti – “Pradzia”, “Startas” ar “Pagrindine”.

Redagavo Arik
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Pora pastabu:

1) naudok camelCase kintamiesiems ir metodams (ne geta, bet getA). Tai nera butina, bet daugiau standartas ir kai kurios Java sistemos, kaip JSF framework ir kt. to tikisi.

2) visad nurodyk kintamuju scope (public/private/protected), nebent supranti ir nori package-private scope.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...