1.JavaBean如何设计
我们有一个User类,但是需要不同的角色,自然而然的我们想到了继承
public class User{
public String name;
public String email;
public String password;
}
public class Student extends User{
}
public class Admin extends User{
}
public class Teacher extends User{
}
这里有个问题,我们Teacher 还有其他属性,例如 String title,我们可以把它放到User类中(属性不是太多,可以接受),当成公共字段,但也可以把它提出来单独放到Teachcer类里。
当Teacher类不想受到限制,想更多的扩展,我们可以不继承User(组合来了!!!请注意)
public class Teacher {
public User User;
public String title;
}
2.类继承和对象组合
谈到类继承,我们最常见的就是Activity,那为什么Activity不用实现用继承呢?如果Activity用实现,那我们每个类都要自己去实现oncreate。。。(岂不要疯掉),现在父类帮我们实现了一些方法,我们子类去继承,不用子类自己去实现了。
我们平时自己封装的BaseFragment,在父类中我们写一些共有的方法,如果有需要变更的地方,自己可以自己去实现这个方法。
请注意一下这种情况:在BaseFragment中,我们有好多方法,当当我们需要修改一个方法时,子类也会受到影响,我们还要去修改子类,有点麻烦。
方案:我们的FragmentOne 、FragmentTwo可以不去继承BaseFragment,直接去继承v4包下的Fragment,我们写一个BasePrensenter,两个子类去继承它OnePrensenter、TwoPrensenter,在FragmentOne 中声明OnePrensenter,他俩组合,MVP自然而然就来了,很舒服
3. 面向接口编程
前面提到了,这个只是个记录