2011-03-26 2 views
1

특히 getter와 setter를 변환하는 데 문제가 있습니다. 자바 getter 및 setter의C# to Java 변환

public class CartItem : IEquatable<CartItem> 
    { 
     #region Attributes 

     public int Quantity { get; set; } 

     private int _productId; 
     public int ProductId 
     { 
      get { return _productId; } 
      set 
      { 
       _product = null; 
       _productId = value; 
      } 
     } 


     private Product _product = null; 
     public Product Prod 
     { 
      get 
      { 
       if (_product == null) 
       { 
        _product = new Product(ProductId); 
       } 
       return _product; 
      } 
     } 
     public string Name 
     { 
      get { return Prod.ProductName; } 
     } 

     public string Description 
     { 
      get { return Prod.Description; } 
     } 

     public float UnitPrice 
     { 
      get { return Prod.UnitPrice; } 
     } 

     public float TotalPrice 
     { 
      get { return UnitPrice * Quantity; } 
     } 

     #endregion 

     #region Methods 
     public CartItem(int productId) 
     { 
      this.ProductId = productId; 
     } 


     public bool Equals(CartItem item) 
     { 
      return item.ProductId == this.ProductId; 
     } 

     #endregion 
    } 
+0

제 대답이 거의 업데이트되지 않았습니다 – dantuch

답변

2

샘플 :

public class Employee { 
    private int empId; 
    private String name; 
    private int age; 

    public Employee(int empId, String name, int age) { 
     this.empId = empId; 
     this.name = name; 
     this.age = age; 
    } 

    // getters & setters 

    public int getEmpId() { 
     return empId; 
    } 

    public void setEmpId(int empId) { 
     this.empId = empId; 
    } 

    public String getName() { 
     return name; 
    } 

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

    public int getAge() { 
     return age; 
    } 

    public void setAge(int age) { 
     this.age = age; 
    } 
} 

코드를 사용하여 :

public class Sample { 

    private int _productId; 

    public int get_productId() { 
     return _productId; 
    } 

    public void set_productId(int productId) { 
     _productId = productId; 
    } 

    private Product _product = null; 

    public Product get_product() { 
     if (_product == null) { 
      _product = new Product(); 
     } 
     return _product; 
    } 

    public void set_product(Product product) { 
     _product = product; 
    } 

} 

보다 뭔가 :

public class Product { 

    String desription; 

    public String getDesription() { 
     return desription; 
    } 

    public void setDesription(String desription) { 
     this.desription = desription; 
    } 
} 


//this is your hidding delegation getter only in main class (Sample in my samples) 
public String getDescription(){ 
    return _product.getDesription(); 
} 
2

자바 getter 및 setter '은 때로 믿을 수를 t는 C#만큼 사용하기 쉽습니다. Java에서는 모든 getter와 setter가 사용자가 가지고있는 속기를 사용하지 않고 명시 적으로 정의해야합니다. 다음과 같이

예를 들어, 코드 "공공 INT의 제품 ID"를, 당신은뿐만 아니라, 두 가지 방법 (A getter 및 setter)를 변수를 정의하는 선을 필요 :

private int _productId; 
public void setProductId(int anId) 
{ 
    _productId = anId; 
} 

public int getProductId() 
{ 
    return _productId; 
} 
당신이 필요할 것

가지고있는 각 변수에 대해 유사한 변수 선언과 getter/setter 메소드를 정의하십시오.

+0

"Java getters와 setter는 C#만큼 사용하기 쉽지 않습니다." - Java getter 및 setter 사용의 어려움은 무엇입니까? 그 문장을 자세히 해석해 주실 수 있습니까? – ivorykoder