• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pytanie dotyczące inicjalizacji zmiennych w języku Java

Object Storage Arubacloud
0 głosów
213 wizyt
pytanie zadane 26 kwietnia 2016 w Java przez HugoZar Nowicjusz (160 p.)

Witam. Otóż mam takie pytanie. Czy inicjalizowanie zmiennych w Javie sposobami podanymi poniżej ma jakąś różnicę oraz czy sposób 1 jest profesjonalny/dopuszczalny?

// Sposób 1:

public class Klasa {

    String name = "Name";
    int i =  1;

    public Klasa() {}
}


// Sposób 2:

public class Klasa {

    String name;
    int i;

    public Klasa(String name, int i) {
        this.name = name;
        this.i = i;
    }
}

2 odpowiedzi

+1 głos
odpowiedź 26 kwietnia 2016 przez efiku Szeryf (75,160 p.)

Sposób 1. Na sztywno przypisujesz składowym ich wartość, nie możesz modyfikować tego później.

Sposób 2: Wartość przypisujesz poprzez konstruktor. 

Klasa obiekt = new Klasa("ala",3);

PS: nazywaj zmienne jakoś normalnie, a nie i. "i" nic nie mówi :P

Drugi sposób jest bardziej profesjonalny/dopuszczalny ;)

 

komentarz 26 kwietnia 2016 przez HugoZar Nowicjusz (160 p.)
Dzięki za odpowiedź! Zmienne nazwałem tak tylko dla przykładu ;)
+1 głos
odpowiedź 26 kwietnia 2016 przez Mar Cin Dyskutant (8,900 p.)

W Javie jeżeli nie zrobisz inicjalizacji początkowej składowych,to przybiorą one wartości domyślne np.:

String name;   //null

Sposób pierwszy jest bardziej czytelniejszy :)

komentarz 26 kwietnia 2016 przez efiku Szeryf (75,160 p.)

Sposób pierwszy jest bardziej czytelniejszy :)

Dlaczego tak uważasz? :)

komentarz 26 kwietnia 2016 przez Mar Cin Dyskutant (8,900 p.)
To może trochę to inaczej sformułuje,dla mnie jest czytelniejszy i łatwiej mi się w takim odnaleźć.Pewnie jak będę miał kiedyś takie doświadczenie jak Ty to może zmiennie zdanie :)
komentarz 26 kwietnia 2016 przez efiku Szeryf (75,160 p.)
Spoko, tylko chciałem zapytać o Twoje zdanie na ten temat. Czyli.. rezygnujesz z konstruktora w klasach na rzecz setterow? ( ofc lepiej nie przesadzać z argumentami do konstruktora)
komentarz 26 kwietnia 2016 przez Mar Cin Dyskutant (8,900 p.)
Konstruktor,geterry/settery, Hashcode, Equals to chyba podstawa dobrze napisanej każdej klasy :p Na razie jeszcze z niczego nie rezygnuję ,jestem na etapie testowania :D
1
komentarz 26 kwietnia 2016 przez efiku Szeryf (75,160 p.)

W takim razie zastanów się czy rzeczywiście potrzebujesz settery do wszystkiego :) Czy da się to jakoś lepiej zrobić :D  

Konstruktor,geterry/settery, Hashcode, Equals to chyba podstawa dobrze napisanej każdej klasy :p

Czy ja wiem?

Zerknij sobie kiedyś na to, może coś się przyda:

http://blog.gauffin.org/2012/05/11/solid-principles-with-real-world-examples/

https://scotch.io/bar-talk/s-o-l-i-d-the-first-five-principles-of-object-oriented-design

 

komentarz 26 kwietnia 2016 przez Mar Cin Dyskutant (8,900 p.)
Dzięki wielki! :)

Podobne pytania

+2 głosów
1 odpowiedź 101 wizyt
pytanie zadane 20 lutego w C i C++ przez Krzysiek Kowalczyk Początkujący (360 p.)
0 głosów
1 odpowiedź 161 wizyt
pytanie zadane 29 sierpnia 2022 w C i C++ przez Mate0 Nowicjusz (210 p.)
0 głosów
2 odpowiedzi 428 wizyt
pytanie zadane 13 lutego 2019 w C i C++ przez DarthMazut Bywalec (2,990 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...