繁体   English   中英

在不使用受保护的情况下处理抽象类的正确方法是什么?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM