public class Solution {
public static void main(String[] args) {
Pies pies = new Pies();
Kot kot = new Kot();
Ryba ryba = new Ryba();
Kobieta kobieta = new Kobieta();
pies.wlasciciel=kobieta; / \
kot.wlasciciel=kobieta; < > Może mi ktoś wyjaśnić dlaczego i skąd wzięło się to ".wlasciciel' ?? czemu akurat tak należy to napisać i czemu z kropą?
ryba.wlasciciel=kobieta; \ /
}
public static class Kot {
public Kobieta wlasciciel;
}
public static class Pies {
public Kobieta wlasciciel;
}
public static class Ryba {
public Kobieta wlasciciel;
}
public static class Kobieta {
}
}
Zadanie rozwiązałem ale nie rozumie dlaczego :/.
Dyskutowane
Komentarze (1)
- Popularne
- Najnowsze
- Najstarsze
Musisz się zalogować, aby dodać komentarz
LosDanielos_javaMaster
19 stycznia 2022, 19:36
Cześć MordecaiXVIII!
- Klasa Kot, Pies i Ryba posiadają zmienną wlasciciel (możesz to potraktować jako argument tych obiektów).
- Tworzymy 3 obiekty: pies, kot i ryba, te zmienne pozwalają dostać się do powstałych obiektów za pomocą referencji.
- Używając "nazwa obiektu" + "." odwołujemy się do atrybutów (zmiennych) danego obiektu. Zatem "kot.wlasciciel" to nic innego jak uzyskanie dostępu do zmiennej wlasciciel przypisanej do obiektu kot.
- "= kobieta" to po prostu przypisanie wartości elementowi po lewej stronie (czyli atrybutowi wlasciciel dla obiektu kot).
- "kobieta" to obiekt stworzony w klasie Kobieta. Sama zmienna kobieta to referencja (czyli odwołanie się do pamięci, gdzie znajduję się powstały obiekt kobieta).
- Zatem kot.wlasciciel = kobieta przypisze obiektowi kot w jego zmiennej wlasciciel wartosc zmiennej kobieta.
-
+2