[英]Best practices for passing information in android/java
嗨,我正在用android編寫應用程序,想知道下面介紹的每種方法的最佳實踐以及潛在的優缺點,如果您要從B類調用A類中定義的方法,或者將信息從A類傳遞給B
方法1:將方法A作為參數傳遞。
class A {
B object;
A(B object) {
this.object = object;
}
void someMethod() {
object.someOtherMethod();
}
}
class B {
void someOtherMethod(){
...
}
}
方法2:定義一個接口。
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中使用接口的問題。
最好的例子是當我們添加另一個類C時。如果類C也實現了A.Helper,則可以使用第二種方法將C毫無問題地傳遞給A。 如果使用第一種方法,則C不能傳遞給A,因為它需要一個B類型的對象。
進一步閱讀: https : //softwareengineering.stackexchange.com/questions/145437/why-use-an-interface-when-the-class-can-direct-implement-the-functions
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.