首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对面向对象程序设计和过程编程的肯定是正确的吗?

对面向对象程序设计和过程编程的肯定是正确的吗?
EN

Stack Overflow用户
提问于 2018-08-08 04:33:52
回答 2查看 133关注 0票数 0

我不得不在这里做一个真实或错误的家庭作业,我对我读过的这三件事有怀疑,但我读得越多,我就越困惑。这是我的结论,我希望你能帮助我更好地理解。

1)“面向对象的设计很难,因为面向对象的技术与人们的心智模型紧密相连”。我发现这是真的,因为OOP是人类看到问题及其解决方案的一种方式。

2)“在面向对象编程中,将复杂系统分解为协作对象的层次结构”。我说这是真的,但我有我的怀疑,因为我不确定是否有权利说协作“对象”,我觉得它应该是组件或不同的东西,但同时我理解在一个类的OOP对象与另一个类的对象协作。

3)最后,“过程程序比面向对象的程序更容易设计”--我说这是真的,但我不知道为什么我读到的是,在过程中程序员写得像历史一样,他只是继续对解决方案进行编程,并没有建立一个完整的解决方案模型,他使用了一个叫做“自上而下”的东西,这就是我发现的过程更容易设计,但更难进行更改,而OOP很难设计,但更容易进行更改。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-08 05:02:38

1)我认为你的理由是说OOP并不难。

2)对我来说,“组件”是一种软件(特定于上下文的术语定义)。

每个组件定义一个或多个对象类(甚至为零)。对象是类的实例。实际上协作的是对象,它们的行为是由它们的类定义的,它们是在组件中编码的。

3)如果你的编程思想是“我想让这种事情发生”,那么设计一个过程程序可能比设计一个面向对象的程序容易(看起来与1相反)。如果您能够将人类思维模型放到设计中,然后放入代码中,OOP就更容易了。

很难说,但我会愤世嫉俗地回答“不”,因为任何教OOP和考试的人都可能花了一年的时间告诉你OOP在各个方面都更好。)原谅对老师有多极端的夸张。当然,他们越好,教导就越平衡。)

票数 0
EN

Stack Overflow用户

发布于 2018-08-08 05:03:49

1)面向对象的设计并不难。它只是,您应该首先学习过程编程,因为它的局限性是可见的。除非学生学习程序编程,否则OOP似乎对学生没有多大用处。

2)在面向对象程序设计中,有一个特定目标的类。它的目的必须向用户明确。如果需要该类的多个实例,则将解决问题的实体归类为类。同时,把责任委托给一个对象也是非常重要的。简单地显示类中的数据和显示数据等行为是类的糟糕设计。要执行复杂的任务,一个类必须与其他类一起执行任务。这种方法被称为类间协作。类的设计必须具有本质属性和行为,以反映现实世界中的一个想法。

3)最后,是的,从某种意义上说,过程编程是一种自顶向下的方法,OOP是一种自下而上的方法,从解决方案开始。如果存在现有的解决方案,则首先研究该解决方案,并以适当的方式确定和组织必要的细节。对于没有解决方案的问题,首先向领域专家(即能够提供有用信息和未来需求的专家)咨询常规解决方案。由于软件是通过首先分析解决方案来开发的,因此这种方法被称为自下而上的方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51738676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档