Если вы можете изменить CusClass1
и CusClass2
, вы можете создать интерфейс
public interface AttributeProvider {
Object getAttrib1(); // or whatever type getAttrib1 should return
Object getAttrib2();
}
и затем убедитесь, что CusClass1
и CusClass2
реализуют этот интерфейс:
public class CusClass1 implements AttributeProvider {
...
}
тогда вы можете иметь конструктор только с этим интерфейсом:
public MyClass(AttributeProvider myObject) {
globalVar1 = myObject.getAttrib1();
globaVar2 = myObject.getAttrib2();
}
Таким образом, вам не придется изменять MyClass
, если вы создадите новый CusClass3
, который также должен использоваться в MyClass