2011-12-12 13 views
6

Chcę skopiować superklasy obiektów pobierających do ustawiaczy obiektów podklas. Ale jak mogę to łatwo zrobić? Szukam czegoś podobnego do klona. Czy możesz mi pomóc, żebym go znalazł?Jak skopiować wartości obiektów nadklasowych do wartości obiektów podklas?

Dziękuję bardzo.

prosty kod:

Super Klasa:

public class SuperClass1{ 
    private String name; 
    private String surname; 

    public void setName(String name){ 
    this.name=name; 
    } 


    public String getName(){ 
    return this.name; 
    } 

    public void setSurname(String surname){ 
    this.surname=surname; 
    } 


    public String getSurname(){ 
    return this.surname; 
    } 

} 

Podklasa

public class SubClass1 extends SuperClass1{ 
    private float gpa; 

    public void setGpa(float gpa){ 
     this.gpa=gpa; 
    } 

    public float getGpa(){ 
     return gpa; 
    } 


} 

i Caller Klasa:

public class CallerClass1{ 
    public static void main(String[] args){ 
     SuperClass1 super1=new SuperClass1(); 
     SubClass1 subclass1=new SubClass1(); 
     //How to subclass1 object values easily taken from super1 
    } 
} 

}

+0

Nie wierzę, że to pytanie jest złym pytaniem. Jeśli masz dobre pytanie, zadajesz pytanie, a ja odpowiadam – olyanren

+0

Bez oceny. Być może pytanie nie jest złe, ale styl pytania brzmi ...! – Mudassir

+0

@Mudassir może być prawdą. Ale chciałem zadać to pytanie po prostu słowami bez nudnego czytania. – olyanren

Odpowiedz

6

Jeśli wydajność nie jest tutaj problemem, możesz skopiować wszystkie właściwości z jednej klasy na drugą, korzystając z refleksji.

Sprawdź ten link do tej drugiej kwestii, która wyjaśnia, jak to zrobić:

Copy all values from fields in one class to another through reflection

Ten drugi związek daje kod, bez użycia BeanUtils:

http://blog.lexique-du-net.com/index.php?post/2010/04/08/Simple-properties-Mapper-by-reflection

I zawsze korzystam z tego rodzaju funkcji w moich projektach. Naprawdę użyteczne.

+0

Dziękuję bardzo :) Po to właśnie szukam – olyanren

+0

Jonathan, czy można kopiować pola super klasy za pomocą BeanUtils? – Don

Powiązane problemy