[英]struggling with class, extends and implements
I'm really struggling with classes, extend and implement. 我真的在努力学习课程,扩展和实施。
Well at android I want to create a preference screen and check the user input. 那么在android我想创建一个首选项屏幕并检查用户输入。
I can use therefore a file named preferences.class and do everything I need with the following class: 因此,我可以使用名为preferences.class的文件,并使用以下类执行我需要的所有操作:
public class Preferences extends PreferenceActivity implements OnSharedPreferenceChangeListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
}
@Override
public void onSharedPreferenceChanged(SharedPreferences sp, String key) {
}
}
But isn't it better to split this up in different classes? 但是,将它分成不同的类别不是更好吗? and if yes how? 如果是的话怎么样?
You can have a PreferenceChangeListener
which implements OnSharedPreferenceChangeListener
and your Preference class will have a PrefernceChangeListener
你可以有一个PreferenceChangeListener
它实现OnSharedPreferenceChangeListener
和你的爱好级别将有一个PrefernceChangeListener
public class Preference extends PreferenceActivity {
private PrefernceChangeListener prefernceChangeListener;
public void addPreferenceChangeListener(PrefernceChangeListener prefernceChangeListener){
this.prefernceChangeListener = prefernceChangeListener;
}
public PrefernceChangeListener getPrefernceChangeListener(){
return this.prefernceChangeListener;
}
}
On a general note if your class has a property which can be externalized you should try to use HAS A relationship, you will use IS A relationship when your class provides functionality on top of inherited values. 一般说来,如果您的类具有可以外部化的属性,您应该尝试使用HAS A关系,当您的类在继承值之上提供功能时,您将使用IS A关系。
Most of the cases IS A can be avoided, unless your class doesnt has a meaning without inheritance favor HAS A over IS A relationship. 大多数情况是一套可避免,除非你的类犯规有没有继承赞成含义有过是有关系的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.