gpt4 book ai didi

oop - 公共(public)功能之间的耦合

转载 作者:行者123 更新时间:2023-12-01 05:37:51 26 4
gpt4 key购买 nike

假设我有一个名为 do3() 的函数
为了使该功能正常工作,我需要执行 do1() 和 do2() 功能。

但是,其他东西也可能需要 do1() 和 do2()(可能是 do4())

所有这些功能都是公共(public)的(并且必须是公共(public)的)。

问题,我应该如何实现代码?

选项1 :

function do3() {
do2()
do whatever is needed for do3
}

function do2() {
do1()
do whatever is needed for do2
}

function do1() {
do whatever is needed for do1
}

因此,如果我调用 do3(),我确信一切都会完成,尽管会出现耦合

选项 2
function do3() {
do whatever is needed for do3
}

function do2() {
do whatever is needed for do2
}

function do2() {
do whatever is needed for do1
}

所以当我想调用 do3() 我必须
do1()
do2()
do3()

我觉得第二种选择更好,因为它的耦合更少,但是我无法解释为什么,它更像是一种感觉。我认为如果我使用选项一和一天我更改 do2() 我可能会遇到问题。

但是,对于选项 2,我必须确保每次我想使用 do3 时都调用 do1 和 do2。

如果有人有更好的主意(选项 3?)会很棒。

谢谢

最佳答案

耦合是一个与类而不是函数相关的概念。
一个函数应该能够调用它所在的同一类的任何其他函数。
那里没有耦合问题。

你的第一个选项很好,do3 调用 do2 和 do2 调用 do1 没有任何问题,只要它们都在同一个类中。

您不应该选择您的选项 2,因为它需要您在任何地方重复代码。

关于oop - 公共(public)功能之间的耦合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7683308/

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