公共类引用与继承的区别?

2019-05-28 15:54发布

问题:

程序中,我有很多公共的方法,我把这些方法放到了一个类中, 在别的类中, 我可以实例化这个类,进行方法的调用, 也可以把这个类继承下来, 直接使用方法,这两种方式有什么区别呢?

公共类A

类B:类A
{
公共方法();
}

类B
{
类A a = new 类A;
a.公共方法();
}

回答1:

如果只是为了复用公共方法,那在类A里的方法全部设置为static好了,直接用。
没有任何关系的类,不要使用继承,可以了解下里氏替换。
类A包含所有公共方法也不对,没做到接口隔离。

再说一下你想了解的

  • 内存开销:第二种内存碎一点
  • 执行效率:第二种多一次函数调用的开销
  • 多线程:靠你自己保证安全

当然你乐意用哪种就用哪种



回答2:

区别就是:你想用哪种.



回答3:

继承的特点是属于,说白了就是归类,把有关联性的类的方法,集中到一起;
比如,项目中有一个关于汽车的父类,那么这里面相关的方法,就是汽车的子类公共方法,而别的类,比如食品类,则不需要用到,食品类就有自己的父类。

而公共类是没有属于关系的,这个类,跟别的类没有关联性方法;
公共类可以写在本项目中,可以写到别的类库,甚至可以写成接口,给别的项目或者类调用。

如果你的项目很大,一直往公共类里面加方法,这个文件会越来越大,造成阅读和修改的困扰;
如果你的项目不大,可以不用细分,随便怎么写都行。



回答4:

都可以,但是肯定有一种方式比另一种方式更合理。如果从业务上讲有继承关系那么就用继承,否则用聚合更好



标签: 继承