gpt4 book ai didi

c++ - 使用继承来减少重复代码的缺点是什么?

转载 作者:行者123 更新时间:2023-11-28 05:40:44 25 4
gpt4 key购买 nike

我目前正在为我正在进行的项目编写一系列专用数据结构类,我注意到它们或多或少都共享几个完全相同的属性和函数。

我既可以忍受重复代码,也可以让它们从共享基类继承,这样代码总量就会减少很多(这使得整个事情更易于维护)。但遗憾的是,我现在无法决定要做什么。

我或多或少了解继承路线的优点,但是当您将它与周围存在的重复代码进行比较时,它的缺点是什么?

对于“长期”项目,哪条路线更明智?

最佳答案

从设计的角度来看,继承违反了封装。通过从一个类继承,您将新类与父类的实现细节联系起来,对于继承类的特定实现,并非所有这些都是必需的。

例如,假设您有一个类 vehicle。此类有许多私有(private)变量,例如 weight_maxSpeed_fuelCapacity_

现在假设您继承了 bicycle 类。新类将包含与 fuelCapacity_ 相关的所有详细信息,即使它们不是必需的。这种事情可能会很痛苦,因为对象变得越来越复杂,因为破坏父类的更改也会破坏继承类,即使它们实际上并不使用代码的 volatile 部分。

一个更安全的选择是 composition .

关于c++ - 使用继承来减少重复代码的缺点是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37150859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com