返回介绍

OOP:大思路

发布于 2024-01-29 22:24:15 字数 725 浏览 0 评论 0 收藏 0

尽管我们的代码可能很小,但是它功能完备,并且它确实能够说明OOP背后一般性的要点:在OOP中,我们通过已经介绍过的定制来编程,而不是复制和修改已有的代码。初学者乍看上去,会觉得这没有什么突出的地方,特别是类需要额外的编码。但总的来说,类所隐藏的编程风格和其他的方法相比会显著地减少开发时间。

例如,在示例中,我们可能理论上已经实现了一个定制的giveRaise操作而没有子类化,但是,没有其他的选项能够产生像我们的代码那样优化的代码:

·尽管我们可以从头开始编写Manager的全新的、独立的代码,但必须重新实现Person中所有那些与Manager相同的行为。

·尽管我们可以直接原处修改已有的Person类来满足Manager的giveRaise的需求,但这么做可能会使需要原来的Person行为的地方无法满足需求。

·尽管我们可以直接完整地复制Person类,将副本重新命名为Manager,并且修改其giveRaise,这么做将会引入代码冗余性,这会使我们将来的工作倍增——未来对Person的修改无法自动找到位置,而是必须手动在Manager的代码中修改。通常,剪切复制的方法现在可能看上去很快,但是,会使未来的工作量倍增。

我们可以用类来构建的可定制层级,为那些将会随着时间而发展的软件提供了一个更好的解决方案。Python中没有其他的工具支持这种开发模式。因为我们可以通过编写新的子类来裁剪或扩展之前的工作,我们可以利用已经做过的工作,而不是每次从头开始、分解已经做过的工作或者引入代码的多个副本而所有的副本在将来可能都要更新。只要用对了,OOP就是程序员的强大同盟。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文