gpt4 book ai didi

java - 实现方法的不同方式

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:00:17 25 4
gpt4 key购买 nike

我正在开始编码,我发现了这个关于从另一个项目实现方法的问题。

例如,在此代码中,我可以在我的项目 CreateECAsDefinitions 中使用我在 CreateECASPageObject 中使用的方法,但我知道如果我在此类中使用扩展,我也可以使用这些方法。我很困惑。

我可以使用这样的方法:下面项目中的 IngresarECAs.FirstMethod();

它们使用 extends 和我使用的方式是否相同?

public class CreateECAsDefinitions {

private LectorExcel excel;
private static XSSFSheet hoja;
private int fila;

@Before
public void before(Scenario scenario) {
this.scenarioActual = scenario;
}


@Steps
private CreateECAsPageObject IngresarECAs ;
private ValidacionCasosPageObject validacionCasos;

我想知道如果我输入有什么区别:

private CreateECASPageObject IngresarECAs;

或者这样说:

public class CreateECAsDefinitions extends CreateECASPageObject

一开始。

最佳答案

这不是实现方法的区别。这是composition and inheritance之间的区别

如果您不需要或不想CreateECAsDefinitions继承 CreateECASPageObject 的所有可访问字段和方法,那么您不应该使用延伸。换句话说,您通过“组合”而不是“继承”来隐藏可能的父类的功能。

鉴于您没有显示方法定义,很难说在您的场景中应该首选哪种方式,但是如果您发现自己为 CreateECAsPageObject 类中的每个方法都编写了此模式,那么你可能想使用继承。

private CreateECAsPageObject ingresarECAs ;

public void firstMethod() {
ingresarECAs.firstMethod();
}

关于java - 实现方法的不同方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55909634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com