Deklaracja obiektu w klasie

0

Cześć. Zaczynam się dopiero uczyć programowania, i mam pytanko :
tworzę klasę np. uczeń :

public class Uczen
{
private String imie;
private String nazwisko = new String();
}

Moje pytanie, co za różnica czy tworzę String, czy wywołuję String = new String();

Proszę o wytłumaczenie, i dzięki za pomoc.

0

imie - będzie mieć wartość null
nazwisko - napis pusty

0

A co jest lepsza praktyka programistyczna ? Tworzenie z uzyciem new(), czy bez ?

0

To jest tak samo bezsensowne pytanie jak to: - "Co jest lepsze x=3; czy x=4; ?"

0

Rozwin mysl, prosze.

0

3 i 4 - to są różne wartości typu int.
null i "" - to są różne wartości typu string.

0

czyli jak definiowac zmienne w klasie ?

0

Zmienna imie nie ma przypisanej wartosci, tzn nie jest zainicjalizowana. Oznacza to, że w przeciwienstwie do zmiennej nazwisko nie jest typu String, tylko null. Nie mozesz wiec zrobic np. imie.ToUpperCase(), bo rzuci ci bledem (metoda ToUpperCase() jest metoda klasy String). Za to mozesz to zrobic na zmiennej nazwisko, chociaz ma pusta wartosc, bo jest ona zainicjalizowana i ma typ String.

czyli jak definiowac zmienne w klasie ?

Powinienes deklarowac zmienne tak jak zmianna imie, a inicjalizowac je w konstruktorze klasy. Gdybys inicjalizowal zmienne tak jak zmienna nazwisko, oznaczaloby to ze kazdy obiekt klasy Uczen mialby to samo nazwisko. Jezeli nie czaisz o czym roznicy miedzy klasa i obiektem, to zlap dowolna ksiazke lub kurs i poczytaj ;)

edit: jednak C# dziala inaczej, wybacz ;)

0

oki dzieki ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1