gpt4 book ai didi

java - android/java 中传递信息的最佳实践

转载 作者:行者123 更新时间:2023-12-01 19:50:02 24 4
gpt4 key购买 nike

您好,我正在 Android 中编写一个应用程序,如果您想从 B 类调用 A 类中定义的方法或将 A 类的信息传递给

方法1:将方法A作为参数传递。

class A {
B object;
A(B object) {
this.object = object;
}
void someMethod() {
object.someOtherMethod();
}
}
class B {
void someOtherMethod(){
...
}
}

方法2:定义接口(interface)。

class A {
Helper helper;
A(Helper helper) {
this.helper= helper;
}
void someMethod() {
helper.someOtherMethod();
}
interface Helper {
void someOtherMethod();
}
}
class B implements A.Helper {
@Override
void someOtherMethod(){
...
}
}

在 android 文档中,我读到将信息从 Fragment 传递到 Activity 的首选方法是第二种方法。但想知道为什么会这样?

最佳答案

如果我正确理解你的问题,这听起来更像是一个关于为什么/何时在 OOP 中使用接口(interface)的问题。

最好的例子是当我们添加另一个类 C 时。如果类 C 也实现了 A.Helper,那么您可以使用第二种方法将 C 传递到 A 中,没有问题。如果使用第一种方法,C 无法传递到 A,因为它需要 B 类型的对象。

一些进一步阅读:https://softwareengineering.stackexchange.com/questions/145437/why-use-an-interface-when-the-class-can-directly-implement-the-functions

关于java - android/java 中传递信息的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51657759/

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