0

我真的在类、扩展和实现方面苦苦挣扎。

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

因此,我可以使用一个名为 preferences.class 的文件,并使用以下类做我需要的一切:

        public class Preferences extends PreferenceActivity implements OnSharedPreferenceChangeListener {

        @Override
protected void onCreate(Bundle savedInstanceState) {
}

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

但是把它分成不同的类不是更好吗?如果是的话怎么办?

4

1 回答 1

2

你可以有一个PreferenceChangeListenerwhich implementsOnSharedPreferenceChangeListener并且你的 Preference 类将有一个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关系。

大多数情况IS A可以避免,除非你的类没有继承的意义没有继承支持HAS A而不是IS A关系。

更喜欢组合而不是继承

于 2012-05-23T08:52:32.077 回答