gpt4 book ai didi

java - 如何设计我的 Java 类以使用已定义的 Utility 类的方法?

转载 作者:行者123 更新时间:2023-12-01 18:52:00 24 4
gpt4 key购买 nike

如何设计 Java 类以正确扩展实用程序类?这是我目前的操作方式的屏幕截图,但我怀疑有更好的方法吗?我在这里使用了正确的面向对象设计吗?我这样做是因为需要扩展 required LoadableComponent 类,并且还需要访问我自己的 WebDriverUtils 实用程序类中的所有静态方法。由于我不是受过正规教育的程序员,因此我正在寻找更好的想法。

换句话说,Utility 类不是“is a”,也不是“has a”,那么它如何适应 oop 的世界呢?

如果您想查看我如何实现此图的示例,我编写的一些代码位于 GitHub 上,请参阅 my project here 。如果有人想发布执行此操作的正确方法的图表,那也很棒。

enter image description here

注意:在此 Web 浏览器测试自动化项目图中,TabIFrameOne 和 tabIFrameTwo 是页面对象,用于处理 iframe 何时完成加载并识别框架中可交互的元素的识别。 DefaultPage 是主浏览器窗口 DOM,并不代表 iFrame 内的 DOM。每个 iFrame 类都使用 WebDriver PageFactory.initObjects() 来加载 Web 元素。

最佳答案

我想说继承在这里是一个坏主意。一个页面可能有一个实用函数,但它不会是一个实用函数。

继承意味着 IS-A:如果类 A 扩展 B,则类 A IS-A B。您必须能够在每个需要 B 的上下文中使用 A 的实例。

组合意味着“HAS-A”。优先选择组合而不是继承。

我也不喜欢将对象映射到 HTML Web 组件的面向对象设计。太耦合了...

关于java - 如何设计我的 Java 类以使用已定义的 Utility 类的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15576518/

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