2011-04-20 4 views
0

방법이 있는지 말해 줄 수 있습니까? 그렇다면 어떻게하면 if then 또는 switch 문을 기반으로 전체 클래스를 구현할 수 있습니까? 본질적으로 클래스 자체를 변수로 만드시겠습니까? [다른 탭의 OnItemClicked 이벤트에서받은 값에 따라 특정 목록 클래스 (활동)를 탭에 표시하려고합니다.]클래스 변수 만들기

if(position == 1){//run class 1} 

if(position == 2){//run class 2} 

감사 :

당신에게 내가 찾고있을 수있는 생각의 아이디어를 제공합니다.

답변

2

polymorphism을 찾고 계십니까?

interface MyService { 
    void doWork(); 
} 

class CoolMyService { 
    void doWork() { /* do something */ } 
} 

class AnotherMyService { 
    void doWork() { /* do something else */ } 
} 

MyService service; 
if(position == 1){ service = new CoolMyService(); } 

if(position == 2){ service = new AnotherMyService() } 

service.doWork(); 

목록에 얼마나 많은 항목이 있는지 알 수는 없지만 위의 예를 적절하게 동적으로 개체를로드 할 수 있습니다. 다형성과 정의 된 interface을 사용하여 무결성을 보장 할 수 있습니다. 그런 다음 실제 작업을 구체적인 구현에 넣으십시오.

0

를 살펴 보자

if (position == 1){ 
    sent broadcast event to one class 
}if(position === 2){ 
    sent broadcast event to another class 

}

0

또한 Class.forName을()

Class oClass = Class.forName(strClassName); 
Tab myTab = (Tab) oClass.newInstance(); 
0

나 '를 사용으로 볼 수 있었다 네 문제를 잘 모르겠다.

코드 :

Class impClass; 
if (position == 1) { 
    impClass = First.class; 
} else if (position == 1) { 
    impClass = Second.class; 
} 
Object myObject = ObjectFactory.createObject(impClass);