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

2019-05-28 15:40发布

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

公共类A

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

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

标签: 继承
4条回答
Rolldiameter
2楼-- · 2019-05-28 16:35

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

查看更多
该账号已被封号
3楼-- · 2019-05-28 16:39

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

再说一下你想了解的

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

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

查看更多
男人必须洒脱
4楼-- · 2019-05-28 16:40

区别就是:你想用哪种.

查看更多
一夜七次
5楼-- · 2019-05-28 16:46

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

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

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

查看更多
登录 后发表回答