그래서 ABC라는 클래스에 Point 개체 목록이 있다고 가정 해 보겠습니다.클래스간에 인수 전달 - 공용 속성을 사용하거나 속성 클래스를 인수로 전달 하시겠습니까?
그 (것)들을 가진 어떤 당기는 논리를 만들어야합니다. 해당 Point 객체 각각에는 ABC 클래스에서 호출 할 Draw() 메서드가 있습니다.
Draw() 메소드 코드에는 ABC 클래스의 정보가 필요합니다. 그 결정을 내릴 무승부()을 허용 할 공공의 일부 속성을
- 갖는 ABC 방송 클래스 :
나는 단지 그들이이 정보를 가지고 있는지 확인하는 방법은 두 가지를 볼 수 있습니다.
- Abc 클래스는 속성으로 가득 찬 클래스를 draw()로 전달합니다.
두 경우 모두 속성이 동일 할 것이고, 제 질문은이 경우에 바람직한 것입니다. 아마 두 번째 접근법이 더 유연할까요? 아마? 나는 명확한 승자를 여기에서 보지 못한다. 그러나 그것은 확실히 다른 누구보다 나의 미경험과 관련이있다.
다른 좋은 접근 방법이 있다면 언제든지 공유하십시오. 이 두 가지 접근 방법에 대한 "공식적인"이름이있는 경우
class Abc2 {
//here we make take down all properties
public void method1();
...
public void methodn();
}
class Abc2MethodArgs {
//and we put them here. this class will be passed as argument to
//Point's draw() method!
public property a;
public property b;
public property c;
...
public property z;
}
또한, 내가 알고 싶습니다 : 여기
두 경우 모두 같습니다 접근 방식이 여기class Abc1 {
public property a;
public property b;
public property c;
...
public property z;
public void method1();
...
public void methodn();
}
하고있다 따라서 태그/스레드 이름을 더 잘 선택할 수 있으므로 검색 목적으로 더 유용합니다. 그것들을 자유롭게 편집 할 수 있습니다.
예제로 인해 포인트를 잘못 해석 할 수는 있지만 실제로 ABC를 기반으로하는 포인트 그리기 대신 ABC가 포인트를 그려야한다고 생각합니다. – Marc
예, 당신의 요점을 봅니다. 나는 자신을 잘 설명하지는 않았지만, draw() 함수가 실제로 ABC보다 Point에 더 잘 위치한다고 가정하는 것이 안전합니다 (실제로 Point 클래스에서 각각 다른 점을 상속받습니다. 다른 드로잉 논리!). –