Przekazanie danych obiektu innej klasie

0

Witam,
W jaki sposób mogę przekazać konkretne dane obiektu do innej klasy? Przykład:

public class Dates {

private wartosc;
public float getWartosc() { ... }; // funkcje ustawiają i zwracają wartość
public void setWartosc() { ... };

}

public class Osoba {

private var;

var = ??? // Tutaj chce ustawić wartość z klasy Dates

}

Wydaje się być proste, ale nie mam pomysłu jak to zrobić :/ Proszę o odp.

0

Źle sprecyzowałem pytanie, napisałem przekazanie danych obiektu do innej klasy, a nigdzie nie stworzyłem obiektu w przykładowym kodzie. Chodziło mi raczej o przekazanie danych klasy innej klasie, jednak bez tworzenia obiektu to chyba niemożliwe. Czekam na odp!

0

Jeśli chcesz przekazać dane z jednego obiektu do drugiego, to najpierw musisz stworzyć ich instancje. Tworzysz obiekt klasy Dates, gdzie ustawiasz wszystkie potrzebne wartości, a następnie obiekt typu Osoba, któremu przekazujesz czy to w konstruktorze (czy za pomocą metod) pierwszy obiekt.

class Osoba{

    private int zmienna;
    public Osoba(Dates d){
        this.zmienna = d.zmienna; //oczywiscie musza byc zgodnych typow
    }
}
0

Czyli proponujesz zrobić to w taki sposób?
Dodam jeszcze , że klasy są w oddzielnych plikach.

public class Dates {
public int wiek;

Dates obiekt_klasy_1 = new Dates();    // W którym miejscu powinienem utworzyć ten obiekt , aby mieć do niego dostęp z innej klasy?
obiekt_klasy_1.wiek = 4;
}

a teraz klasa w innym pliku:

public class Osoba {
public int wartosc;

// i teraz potrzebuje zainicjować wartość , wiekiem z klasy Dates.
Osoba p1 = new Osoba();

p1.wartosc = obiekt_klasy_1.wiek;   // to nie będzie działać
}

Czy moglibyście przerobić ten kod aby inicjacja była możliwa?
0

No ale bez herezji.

class A{

    private int zmiennaA;

    public int pokazZmiennaA(){
        return this.zmiennaA;
    }

    public void ustawZmiennaA(int z){
          this.zmiennaA = z;
    }
}

class B{

    private int zmiennaB;

    public B(A obA){
        this.zmiennaB = obA.pokazZmienna();
    }
}

public static void main(String[] args){
   A obA = new obA();
   obA.ustawZmiennaA(5);
   B obB = new obB(obA);
   
}

Żeby ustawić jakąkolwiek wartość z pierwszego obiektu musisz najpierw go stworzyć. Następnie ten gotowy obiekt przekazujesz do konstruktora obiektu drugiego.
Pisane z biegu = mogą występować błędy, ale idea jest taka.

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