조금 이론적 인값을 생성자에 전달하는 방법은 무엇입니까? 내 질문에 대한 죄송
내가 OOP 다음 코드를 공부에 새로운 오전입니다.
public interface IShape
{
double getArea();
}
public class Rectangle : IShape
{
int lenght;
int width;
public double getArea()
{
return lenght * width;
}
}
public class Circle : IShape
{
int radius;
public double getArea()
{
return (radius * radius) * (22/7);
}
}
public class SwimmingPool
{
IShape innerShape;
IShape outerShape;
SwimmingPool(IShape _innerShape, IShape _outerShape)
{
//assignment statements and validation that poolShape can fit in borderShape;
}
public double GetRequiredArea()
{
return outerShape.getArea() - innerShape.getArea();
}
}
이 코드는 다른 모양의 영역을 계산합니다. SwimingPool 클래스의 생성자를 볼 수 있지만 생성자에 값을 전달하는 방법을 알지 못합니다. 이전에는 인터페이스를 사용하여 프로그래밍을 수행하지 않았습니다. 제발 나를 안내 3 가지 :
- 디자인 타임에 가치를 전달하는 방법. (두 매개 변수는 모든 유형이 될 수있을 때)
- 는 런타임에 값을 전달하는 방법.
- 어떻게 OO 방식으로 여기에 검증을 할까? 귀하의 시간과 도움을
감사합니다.
감사합니다 Bryan Crosby, 그것은 디자인 타임에 괜찮습니다. 유형에 대해 확실하지 않을 때 런타임에 처리하는 방법에 대한 조언을 원하십니까? 나는 그것을 exectly 이해하지 않지만 다형성에있을 수 있습니까? 덕분에 – haansi
@haansi : 유형은 우리가이'IShape' 객체를 사용하는 생성자를 정의하기 때문에'IShape'을 구현하는 것도있을 것입니다. 런타임에 유형을 반드시 알아야 할 필요는 없습니다. –
감사합니다. @Bryan Crosby, 내가 어떻게 인스턴스화할지 유형을 알지 못한다면?당신처럼 : IShape shape1 = new Rectangle() {높이 = 1, 너비 = 3}; IShape shape2 = new Circle() {반경 = 2}; 여기에는 하나의 유형이 Rectangle이고 다른 하나는 Circle 인 것으로 알려져 있습니다. 상담하십시오. – haansi