[英]Is there a way to share data between an abstract class and it's implementation classes without using companion object in Kotlin
[英]What's the correct way to handle abstract classes without using protected?
例如:
public abstract class SomeBaseClass extends Fragment {
protected static final String INT_TAG = "int_tag";
protected int someInt;
//...
}
public class ChildClass extends SomeBaseClass {
public static ChildClass newInstance(int argInt) {
Bundle args = new Bundle();
bundle.putInt(INT_TAG, argInt);
ChildClass fragment = new ChildClass();
fragment.setArgs(args);
return fragment;
}
public void onCreate() {
someInt = getArguments().getInt(INT_TAG);
}
//...
}
但是我听说由于某种原因在抽象类中使用受保护的变量是个坏主意(我不知道为什么)。 有什么选择?
访问受保护的属性是一个坏主意,因为它打破了封装,使您强烈耦合。 您仍然可以使用getter和setter访问受保护的字段。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.