2010-04-30 5 views
2

나는 DRY를 따르려고하고 재사용해야 할 몇 가지 기능이 있습니다.함수를 전역으로 만드는 방법은 무엇입니까?

저는 클래스에 정적 함수로 모두 넣고 다른 클래스에서 사용하려고합니다.

클래스에서 사용할 수있는 가장 좋은 방법은 무엇입니까?

원인 클래스를 확장 할 수 없습니다. 이미 확장되었습니다.

나는 사용할 수 있습니까?

모범 사례는 무엇입니까?

감사합니다.

답변

3

Public 클래스 방법 (예를 방법, 예를 들어, 비 정적 대)는 항상 전역 범위에서 사용할 수 있습니다, 그래서 필요한 곳에 그냥 정적을 호출 할 수 있습니다. 그러나 static methods are death to testability 및 하드 커플은 global scopeused class 클래스를 사용합니다. 당신은 그것을 피하기를 원하기 때문에, 정적 메서드를 인스턴스 메서드를 사용하여 없애고 passing in the dependency/object instance을 생성자 또는 설정자를 통해 제거하는 것이 더 좋습니다. 전달 된 인스턴스에 특정 메소드가 있는지 확인하려면 interfaceType Hint을 추가하십시오.

4

정적 인 경우 두 번째 클래스에서 호출하십시오.

First_Class::method(); 
관련 문제