目前,我正在为我的一个项目实现LoadableComponent设计模式。

之前我使用的是“ BasePage”,“ Pages”包下的每个页面都在扩展。

现在按照LoadableComponent设计模式,每个页面都需要扩展LoadableComponent,并且应该覆盖'load()'和'isLoaded()'方法,但是我的问题是如何在每个页面类中扩展BasePage和LoadableComponent?

如果我使用多级继承,那么如何为每个类定义isLoad()和isLoaded()?因为它们对于每个类都需要不同。嵌套的组件也是不可能的。

public class BasePage<T extends BasePage<T>> extends LoadableComponent<BasePage>{

    .......

}


public class LoginPage extends BasePage {

     ..........

}


请建议我一个解决方案??

最佳答案

好吧,我解决了:-

public class BasePage<T extends BasePage<T>> extends LoadableComponent<T>{

    @Override
    public boolean isLoaded() {
       // Blank as all implemented algo comes under pages
    }

    @Override
    public boolean isLoad() {
       /// Will be Blank
    }
}


public class LoginPage extends BasePage {

    @Override
    public boolean isLoaded() {
       //Write logic
    }

    @Override
    public boolean isLoad() {
       /// Write Logic
    }


}

关于java - 一起扩展Page Object Base类和LoadableComponent <?>,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26210529/

10-11 12:20