程序中,我有很多公共的方法,我把这些方法放到了一个类中, 在别的类中, 我可以实例化这个类,进行方法的调用, 也可以把这个类继承下来, 直接使用方法,这两种方式有什么区别呢?
公共类A
类B:类A
{
公共方法();
}
类B
{
类A a = new 类A;
a.公共方法();
}
程序中,我有很多公共的方法,我把这些方法放到了一个类中, 在别的类中, 我可以实例化这个类,进行方法的调用, 也可以把这个类继承下来, 直接使用方法,这两种方式有什么区别呢?
公共类A
类B:类A
{
公共方法();
}
类B
{
类A a = new 类A;
a.公共方法();
}
都可以,但是肯定有一种方式比另一种方式更合理。如果从业务上讲有继承关系那么就用继承,否则用聚合更好
如果只是为了复用公共方法,那在类A里的方法全部设置为static好了,直接用。
没有任何关系的类,不要使用继承,可以了解下里氏替换。
类A包含所有公共方法也不对,没做到接口隔离。
再说一下你想了解的
当然你乐意用哪种就用哪种
区别就是:你想用哪种.
继承的特点是属于,说白了就是归类,把有关联性的类的方法,集中到一起;
比如,项目中有一个关于汽车的父类,那么这里面相关的方法,就是汽车的子类公共方法,而别的类,比如食品类,则不需要用到,食品类就有自己的父类。
而公共类是没有属于关系的,这个类,跟别的类没有关联性方法;
公共类可以写在本项目中,可以写到别的类库,甚至可以写成接口,给别的项目或者类调用。
如果你的项目很大,一直往公共类里面加方法,这个文件会越来越大,造成阅读和修改的困扰;
如果你的项目不大,可以不用细分,随便怎么写都行。