因为继承关系粒度太粗,它实际上可以并有必要拆分成三个关系。
当我们让子类继承了父类时,我们相当于: 行为上,让子类作为父类的代理。
数据上,让子类对象聚合了一个父类对象。
多态上,让子类作为父类的实现。
当面向对象刚刚兴起的时候,大家觉得三种关系可以合并成继承关系,这是很自然的。
毕竟,子类想要实现父类,最简单的做法就是往子类对象里面聚合一个父类对象,然后让子类代理访问父类的接口。
然而随着面向对象的发展,…。
{dede:pagebreak/}
为什么我养的龟忽然死了?
2025年了 Rust前景如何?
明明无线鼠标有那么多优点,为什么还有那么多人买有线鼠标?
缅北到底有多乱?
为什么中国航天不像NASA那样展示更多的宇宙景象?
为什么民众更关注华为对5nm芯片的突破,而不是关注小米已经自研的3nm芯片?
有没有系统介绍 Visual Studio 使用和技巧的书籍?
后端真的比前端累吗?
27寸显示器是否有必要到4K?
为什么赡养老人这么难呢?
为什么苹果不封杀「爱思助手」「iTools」这类软件?
遭遇生理性涨奶该怎么办?
写CUDA到底难在哪?
为什么开发一个 AI Agent 看似容易,但真正让它「好用」却如此困难?技术瓶颈主要在哪里?
如何评价Orbstack(在Mac上低开销地运行容器和Linux)?
有什么是你去了上海才知道的事情?