繁体   English   中英

与阶级斗争,扩展和实施

[英]struggling with class, extends and implements

我真的在努力学习课程,扩展和实施。

那么在android我想创建一个首选项屏幕并检查用户输入。

因此,我可以使用名为preferences.class的文件,并使用以下类执行我需要的所有操作:

        public class Preferences extends PreferenceActivity implements OnSharedPreferenceChangeListener {

        @Override
protected void onCreate(Bundle savedInstanceState) {
}

      @Override
      public void onSharedPreferenceChanged(SharedPreferences sp, String key) {
    }
}

但是,将它分成不同的类别不是更好吗? 如果是的话怎么样?

你可以有一个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;
   }    
}

一般说来,如果您的类具有可以外部化的属性,您应该尝试使用HAS A关系,当您的类在继承值之上提供功能时,您将使用IS A关系。

大多数情况是一套可避免,除非你的类犯规有没有继承赞成含义是有关系的。

更喜欢继承的组合

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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