Metoda equals a operator ==.

Metoda equals a operator ==.
G2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 215
0

Musze pochwalić Shalom - dzisiaj fajnie i zrozumiale sie z Tobą rozmawiało. Oby tak dalej.
OK thank you very much. Good night.

Cornellia
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 39
0

ja myśle że @golec2604 jest człowiekiem który chce na prawdę zrozumieć programowanie. Może zajmie mu to dłużej ale przez to stanie się bardzo dobrym programistą z solidnymi podstawami. Lepiej żeby teraz pytał, a niżeli miał odwalać w pracy jakieś babole bo powiedzcie szczerze - ile zawodowych programistów ma gdzieś różnice między equal() i == ? Przez takie babole później powstają problemy w systemach i kilka godzin zostaje zmarnowane na szukanie błędu. Wiec panie golec - nie przejmuj się tymi docinkami, pytaj, szukaj i nie krępuj się. Lepiej żebyś tutaj został ośmieszony niż w prawdziwej pracy. To tyle trzymaj się i trzymam kciuki w nauce ;*

G2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 215
0
golec2604" cytat z dnia 2016-02-09 01:12 napisał(a)

AHA. Czyli weźmy inny przypadek z innymi klasami i gdy nie chcemy sie odwoływać w implementacji nowej metody do metody nadklasy (i przez to nie korzystać z pól nadklasy) to wystarczy zrobić nadpisanie danej metody z całkowicie nową implementacją ale z identycznym wzorem konstruktora jak w nadklasie. Dobrze rozumiem??

Czytałem jeszcze raz te posty na temat słówka super.
Wydaje mi się że w tym zacytowanym moim tekście nie do końca jest prawda, w nawiasie powinno być raczej napisane:
**(i przez to nie korzystać z __prywatnych __pól nadklasy) ** bo przecież gdy nadklasa ma pola publiczne to metody podklasy moga korzystać z publicznych pól nadklasy. Mam rację??

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0

Owszem, ale zawsze lepiej wcale nie korzystać bezpośrednio z pól klasy czy też nadklasy - getery i setery dają nieco większą elastyczność.
Z tym że aktualnie narzędzia do refaktoringu są tak rozbudowane że powoli przestaje to mieć jakiekolwiek znaczenie.

G2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 215
0

Z takimi technikami co mi mówisz to nawet nie wiem o czym mówisz. Ja ma tylko prośbe do Was wszystkich żebyście nie wplątywali do tematu czegoś innego niż to co pytam bo jeszcze duzo chleba musze zjeść aby wejść na poziom zaawansowany. Wystarcza tylko odpowiedzi do tematu, konkretnie to po co pytam. Może za jakiś dłuższy czas pogadamy na wyższym poziomie :) Wy profesjonaliści możecie sobie pogadać takimi pojęciami, ja jeszcze nie osiągnąłem dużo wiedzy.

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0

A wystarczy przeczytać byle kurs (wybierając ten najkrótszy) aby zacząć rozumieć co do ciebie mówimy.
Bo nawet samo pamiętanie że jest na forum taki ...(autocenzura)... @golec2604 który życzy sobie aby rozmawiano z nim jak z ...(autocenzura, ale zamieńmy to słowo na dzieckiem)... nie wchodzi w rachubę.

G2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 215
0

autocenzura - co ty tam na mnie napisałeś :) Nie nie chce jak z dzieckiem ja tylko chce aby odpowiadać konkretnie na temat bez wyprzedzeń. Czy myslisz że dziedzko w podstawówce zrozumiało by matematyke gdyby nauczyciel wprowadział całki i inne rzeczy ze studiów.
Raczej nic by z tego nie wiedziało bo zostałoby wtedy pominiete sporo rozdziałow z matematyki i duzy przeskok w programie. W każdej dziedzinie trzeba iść po kolei z materiałem a nie skakać do przodu. Widzę że tu na forum tego nie rozumieją. Czasami zadam tutaj jakies proste pytanie gdzie oczekuje nawet odpowiedzi TAK lub NIE, a ktoś wyjeżdża z jakimś wykładem, pytam sie po co?? I prze to toczy sie zbędna dyskusja.

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0

Na zajęcia z podstawówki nie wchodzą studenci matematyki ze szkół wyższych. Na forum sytuacja jest inna. Odpowiadając na pytania - odpowiadam na pytanie bez uwzględnienia konkretnej osoby pytającej jej lenistwa i potencjału intelektualnego.

Wibowit
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: XML Hills
3

Czasami zadam tutaj jakies proste pytanie gdzie oczekuje nawet odpowiedzi TAK lub NIE, a ktoś wyjeżdża z jakimś wykładem, pytam sie po co?? I prze to toczy sie zbędna dyskusja.

Niestety nie każde pytanie ma oczywistą odpowiedź tak lub nie. Mogą się pojawić między innymi następujące problemy:

  1. Ścisłość. Zdanie 2 + 2 = 4, a słonie są różowe jest fałszywe, mimo iż 2 + 2 = 4. Stwierdzenie, że całe zdanie jest fałszywe nie oznacza, że każda składowa jest fałszywa.
  2. https://pl.wikipedia.org/wiki/Presupozycja ("Presupozycja – w logice sąd, który musi być prawdziwy, żeby zdaniu można było przypisać wartość logiczną (prawdę albo fałsz). Innymi słowy, presupozycja to wniosek wynikający zarówno ze zdania, jak i z jego negacji.") Zdanie "Różowe słonie jedzą trawę" nie ma wartości logicznej, bo odpowiedzenie tak lub nie byłoby przyznaniem się do tego, że różowe słonie istnieją.
  3. Absurdalność. Na pytanie "czy łyżeczką da się zasypać Rów Mariański?" można odpowiedzieć "tak", ale aż się ciśnie by dopowiedzieć, że jest to totalnie głupie.

Wracając do pytania, to odpowiedź na podstawowe pytania dotyczące widoczności pól klasy są w: https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html

Jeśli chodzi o używanie getterów/ setterów/ pól bezpośrednio/ etc to nie ma tu jednoznacznej odpowiedzi co używać. Konwencja jest taka, żeby używać akcesorów z zewnątrz, a pól wewnątrz obiektu. Najważniejsze jest jednak zachowanie kontraktu obiektu, a w szczególności spójności jego stanu.

G2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 215
0

Nurtuje mnie jedna rzecz i nie daje mi ona spokoju. Gdy utworze obiekt klasy Object to co taki obiekt posiada zawartość/treść ??

Wibowit
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: XML Hills
0
golec2604 napisał(a):

Nurtuje mnie jedna rzecz i nie daje mi ona spokoju. Gdy utworze obiekt klasy Object to co taki obiekt posiada zawartość/treść ??

Już to gdzieś pisałem. Przede wszystkim musi znajdować się w nim referencja do klasy obiektu (do wyciągnięcia za pomocą metody getClass()). A reszta jest w zasadzie nieważna, nawet jeśli chcesz zrozumieć dokładnie jak działa Java. W typowym JVM stały narzut na obiekt wynosi 8 bajtów. W tych 8 bajtach jest ta referencja do klasy obiektu, ale są jeszcze inne rzeczy, o których nie pamiętam (albo i nie wiem) bo i po co?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.