gpt4 book ai didi

java - 使用 fragment 时避免重复代码的最佳方法

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

我已经准备好一个应用程序并在 Google Play 商店中运行,现在我正在实现 fragment 。

所以,我已经有一个用一些方法扩展 B 的类 A,现在我有一个 C 扩展 FragmentActivity 的类,所以现在我需要使用与 A 类中相同的方法,但在这里因为我扩展了 FragmentActivity 我不能使用B类的,所以这里有与A类相同的重复方法,但我需要重用这些方法。

下面这个例子展示了我的情况:

例如:

当前实现

class A extends B{

one();
two();

}

整合 fragment 后,

例如:

class C extends FragmentActivity{

one();// same methods as in class A
two();// same methods as in class A

}

1) 在这种情况下重用这些方法的最佳方式是什么?如何重用?

2) 我的想法是创建一个类并将方法设为静态,然后在 A 类和 C 类中重复使用这些方法,但我的方法好吗,我可以将方法设为静态吗?一个好的方法?

3) 我想到的另一种方法“策略模式”。

Eg:
class A extends ApiClass {
private ClassContainingDupMethod strategy;
}

class N extends AnotherApiClass {
private ClassContainingDupMethod strategy;

public methodCallingDupMethod(){
strategy.dupMethod();
}
}

class ClassContainingDupMethod{
public dupMethod(){;}
}

"Strategy Pattern". 是一种好方法吗?因为我需要在这两个类中创建公共(public)类的对象。

如有任何建议,我们将不胜感激。

最佳答案

它比您描述的更简单。您需要做的就是像这样创建 D:

public class D{
one();
two();
}

将类 A 更改为使用类 D。

   public Class A{
public D dLogic;
}

同C类

public Class C extends FragmentActivity{
public D dLogic;
}

这是面向对象编程中非常基本的东西,它称为 composition .

关于java - 使用 fragment 时避免重复代码的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20609446/

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