new zwraca referencję do obiektu, a konstruktor zwraca obiekt?

0

Dzień dobry, dobrze zrozumiałem tutorial javy?

Recall that the new operator returns a reference to an object.

the object that getArea() is invoked on is the rectangle returned by the constructor.

1

Imo ważne jest to jak to wyglądało w kursie.
Recall that the new operator returns a reference to an object. Jeśli o to chodzi to tak, new zwraca referencję do obiektu.
int areaOfRectangle = new Rectangle(100, 50).getArea();
the object that getArea() is invoked on is the rectangle returned by the constructor.
Czyli obiekt na którym wywoływana jest metoda getArea() jest trójkątem zwróconym przez konstruktor. Jak widać jest to konstruktor trójkąta.
Więc w tym przypadku Twoje konstruktor zwraca obiekt jest moim zdaniem niepoprawne. Chodzi o to że ta metoda jest wywołana na 'świeżo' zwróconym (utworzonym) przez konstruktor obiekcie.

0

Chodzi o to że ta metoda jest wywołana na 'świeżo' zwróconym (utworzonym) przez konstruktor obiekcie.

@szweszwe wybacz, ale nie zrozumiałem :P

1

Konstruktor Rectangle zwraca obiekt a metoda getArea() jest wywoływana na tym właśnie obiekcie, bez żadnego przypisywania go wcześniej do zmiennej. Pewnie wytłumaczone, żeby ktoś nie pomyślał, że wywołują metodę na konstruktorze.

0

Czyli jednak kondtruktor zwraca obiekt?

1

W tekście w pierwszym przypadku jest napisane, że new zwraca referencje do obiektu - tak jak już pisałem.
Potem gdzie jest new Rectangle(100, 50).getArea() napisali, że getArea() jest wywołana na trójkącie zwróconym przez konstruktor.
Wg mnie można przyjąć, że konstruktor tworzy obiekt ale zwraca do niego referencje. Może w tym kursie trochę się pospieszyli i zamiast napisać, że wywołują metodę na obiekcie do którego referencję zwrócił konstruktor napisali po prostu o trójkącie zwróconym przez konstruktor.

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