簡體   English   中英

在android / java中傳遞信息的最佳做法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM