2017-05-11 7 views
0

CustomClassAの属性であるCustomClassBにデータを取得したいが、それを回避することはできたが、ベストプラクティス私は、検索だけリンクされてしまったメインクラスのCustomClassAの属性であるCustomClassBにデータを渡すためのベストプラクティス

customClassA.passInfo(foo); 

CustomClassA:CustomClassBについては

public class CustomClassA() { 
    private CustomClassB customClassB; 

    //constructor CustomClassA... 

    public void passInfo(Foo foo) { 
     this.customClassB.receiveFoo(foo); 
    } 
} 

public class CustomClassB() { 
    private Foo foo; 

    //constructor CustomClassB... 

    public void receiveFoo(Foo foo) { 
     this.foo = foo; 
    } 
} 

私は私のメインクラスから何をすべきかのようなものです"ネストされたクラス"に、それは私が探しているものではない、おそらく私の検索スキルはそれほど良くありません。誰かが助けることを願っています! ありがとうございました!

customClassA.getCustomClassB().setFoo(foo); 

あなたが行う必要があります。:

public class CustomClassA { 
    private CustomClassB customClassB; 

    //constructor CustomClassA... 

    public CustomClassB getCustomClassB(){ 
     return customClassB; 
    } 
} 


public class CustomClassB { 
    private Foo foo; 
    //constructor CustomClassB... 
    public void setFoo(Foo foo) { 
     this.foo = foo; 
    } 
} 

あなたがゲッターとセッターとJavaビーンズAPIについて読むことができますあなたのための

+0

メソッド代理人 - 私にはうまく見えます; – Antoniossss

+0

特に問題はありますか? – shmosel

+0

@shmoselそれがうまくいくかどうかは分かりません。私は、他のクラスの中にCustomClassXYZ属性を持たせて、いくつかのデータを渡すだけで、作成中のクラスとは関係のない複数のメソッドを作成することを想像しています。 –

答えて

0

2番目のオプションは、このように、このメソッドを呼び出すです。

+0

元CustomClassBを返すことはセキュリティ上の問題です、 右? 私がコピーを返す場合、私は望むインスタンスに影響を与えません –

+0

私はインスタンスcustomClassAからオブジェクトcustomClassBを返します。これは同じ方法で行います。 customClassAオブジェクトで作成されたオブジェクトcustomClassBを操作します。 – Kutti

+0

@BrunoTeixeiraどのようなセキュリティ問題ですか? – Antoniossss

関連する問題