2013-05-07 4 views
-4

다음은 Java에서 '집계'사용 또는 -a 관계 사용을 보여주는 Java 코드입니다.Java에서의 집계 관계

class Address{ 
    private String addressLine; 
    public String getAddressLine(){ 
     return addressLine; 
    } 
    public void setAddressLine(String address){ 
     addressLine=address; 
    } 
} 
class Customer{ 
    private int customerId; 
    private Address address; 
    private static int counter = 1000; 
    public Customer{ 
     customerId=++counter; 
    } 
    public int getCustomerId(){ 
     return customerId; 
    } 
    public void set Address(Address address){ 
     this.address=address; 
    } 
    public Address getAddress(){ 
     return address; 
    } 
} 
class Retail{ 
    public static void main(String args[]){ 
     Address add=new Address(); 
     add.setAddressLine("Washington Street"); 
     Customer custObj = new Customer(); 
     custObj.setAddress(add); 
     Address temp = custObj.getAddress(); 
     System.out.println("Address"); 
     System.out.println(temp.getAdressLine()); 
    } 
} 

여기 코드의 특정 부분을 이해할 수 없습니다. 친절하게 프로그램 실행을 설명하십시오. 또한 get address의 값을 임시로 저장하여 인쇄해야하는 이유는 무엇입니까? 그것을 할 다른 방법이 있습니까?

+1

1) 당신이 이해할 수없는 부분을 자세히 설명해 주시겠습니까? 2)'System.out.println (custObj.getAddress(). getAdressLine());'시도 했습니까? – Patashu

+1

어떤 부분을 이해하지 못합니까? 거의 언제나 그것을 할 수있는 다른 방법이 있습니다 ("그것이 무엇이든"). –

+0

이 경우 temp에 저장되므로 getAddress() 함수를 두 번 호출 할 필요가 없으므로 비용이 많이 소요될 수 있습니다. –

답변

1

집합 속성을 설정하고 얻는 방법을 배우는 테스트 프로그램 인 것 같습니다. 실제 시나리오에서

,

Address add=new Address(); 
add.setAddressLine("Washington Street"); 
Customer custObj = new Customer(); 
custObj.setAddress(add); 
saveCustomer(custObj); 

이 부분은 첫 번째 클래스에있을 것입니다 및

Customer custObj = getCustomer(); 
Address temp = custObj.getAddress(); 
System.out.println("Address"); 

는 다른 파일에있을 것입니다.

첫 번째 부분은 일부 데이터베이스 나 캐시 등에 저장할 수 있습니다. 두 번째 부분에서는 db/cache에서 가져 오는 것이 좋습니다.