クラスをまたいでメンバ変数を取得する方法について質問です。
Clientクラス、Managerクラス、Employeeクラス、Paperクラスが以下の関係にあり、Clientクラスが、Paperクラスのメンバ変数numを取得したい場合、どのような方法が最適でしょうか?
// クライアント
class Client {
private:
Manager manager;
};
// マネージャー
class Manager {
private:
Employee employee;
};
// 社員
class Employee {
private:
Paper paper;
};
// 資料
class Paper {
private:
int num;
};
いまのところ、マネージャーと社員と資料に、GetPaperNum()メソッドを追加して、段階的にクライアントまで届けるようにしています。
しかし、この方法を採用し続けると、不用意にGetterばかりが増え、またがれるクラス(マネージャーと社員)の責務も曖昧になっていきそうです。
クライアントが直接資料クラスを持つようにして、資料クラスのGetPaperNum()メソッドを呼ぶ方法も考えられますが、クラス間の関係が複雑になっていきそうな気がします。
なにかよい方法は、ありませんでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/04 14:12