У меня есть два класса, для которых данные собираются во внутреннем классе с именем MyData
(оба класса имеют некоторые общие и несколько различных полей в данных). Теперь я хочу передать эти данные, содержащие объект, в третий класс. Как мне ссылаться на внутренний класс из внешнего класса?
Обратите внимание, что я не могу извлечь MyData
в новый класс, потому что он содержит несколько различных полей для классов A и B. Также обратите внимание, что по мере расширения этой работы могут быть другие классы D, E, F у него также будет внутренний класс MyData
с полями, совершенно отличными от A и B, поэтому наследование здесь может не работать. Моя идея состоит в том, чтобы включить все поля данных (независимо от класса) в один объект и передать его C.
class A {
class MyData {
//some fields
}
MyData data = new MyData();
new C(data);
C.approve_a();
}
class B {
class MyData {
//some fields
}
MyData data = new MyData();
new C(data);
C.approve_b();
}
Я хочу иметь возможность сделать что-то вроде этого:
class C {
MyData data;
public C(MyData data) {
this.data = data
}
approve_a() {
//operations on data.fields
}
approve_b() {
//operations on data.fields
}
}