2011-12-12 54 views
6

Tôi muốn sao chép các đối tượng siêu lớp đối tượng vào các bộ định đối tượng lớp con. Nhưng làm thế nào tôi có thể làm điều này một cách dễ dàng. Tôi đang tìm thứ gì đó giống như bản sao. Bạn vui lòng giúp tôi tìm nó không?Làm thế nào để sao chép các giá trị đối tượng superclass thành các giá trị đối tượng lớp con?

Cảm ơn bạn rất nhiều.

Một mã đơn giản:

Super Class:

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; 
    } 

} 

Subclass

public class SubClass1 extends SuperClass1{ 
    private float gpa; 

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

    public float getGpa(){ 
     return gpa; 
    } 


} 

và Caller Class:

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

Tôi không tin câu hỏi này là câu hỏi không tốt. Nếu bạn có câu hỏi hay, bạn hỏi và tôi trả lời – olyanren

+0

Không có câu hỏi nào. Có thể là câu hỏi không phải là xấu, nhưng phong cách yêu cầu là ..! – Mudassir

+0

@Mudassir có thể là sự thật. Nhưng tôi muốn đặt câu hỏi đơn giản hơn những từ mà không nhàm chán đọc nó. – olyanren

Trả lời

6

Nếu hiệu suất không phải là một vấn đề ở đây, bạn có thể sao chép tất cả các thuộc tính từ một lớp này sang lớp khác sử dụng sự phản chiếu.

Kiểm tra liên kết này cho câu hỏi này khác giải thích làm thế nào để làm điều đó:

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

link khác này sẽ cung cấp cho bạn mã, mà không sử dụng BeanUtils:

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

tôi luôn sử dụng loại chức năng này trong các dự án của tôi. Thực sự hữu ích.

+0

Cảm ơn bạn rất nhiều :) Đây là những gì tôi đang tìm kiếm – olyanren

+0

Jonathan, là nó có thể sao chép các trường siêu lớp với BeanUtils? – Don

Các vấn đề liên quan