面向对象的建模是否与面向对象的编程不同?

时间:2008-09-18 14:35:03

标签: oop

面向对象建模和面向对象编程有什么区别?今天早上我无意中听到地铁列车上的一次谈话,似乎这些事情有所不同。不是吗?

7 个答案:

答案 0 :(得分:3)

面向对象建模是指设计代码外观的过程。您将使用像UML这样的建模语言来执行面向对象的建模。面向对象编程是指使用对象的编程范例。这些对象是在设计阶段使用面向对象建模技术设计的,它们是在构建(编程阶段)期间使用支持面向对象编程并基于模型的语言实现的。

答案 1 :(得分:3)

建模是创建问题的抽象,而编程就是这种抽象的实现。

建模可以通过多种方式完成:文本,公式,图表...... UML是面向对象概念建模的一种标准。

编程也可以通过不同的方式完成,具体取决于工具,语言等。有很多方法可以直接从建模工具生成程序,通常是UML模型。这甚至更进一步,UML模型直接“执行”。

关于面向对象编程的其他常见混淆也存在 - 从“它是你的拖动和点击的东西”开始,超过混合的第三代概念,我称之为“处理对象”到实际模式并以纯OOP结束。 / p>

答案 2 :(得分:2)

我认为在编程实施之前,建模会排除编程,其中建模是物理设计。

http://en.wikipedia.org/wiki/Object-Oriented_Modeling

http://en.wikipedia.org/wiki/Object_oriented_programming

答案 3 :(得分:0)

我刚刚发现了这个:

  

面向对象的建模是正式的   表达某种东西的方式   真实世界。它来自传统   集理论与分类理论。   面向对象的建模不是   仅限于与计算机相关的元素。   可以使用面向对象的建模   代表许多不同类型的   来自组织的事物   结构,有机材料,   实体建筑。

答案 4 :(得分:0)

面向对象建模用于定义类,方法和变量,通常没有任何实际代码。有很多工具可以帮助进行这种建模。 Netbeans就是这样一个包。 Netbeans可以帮助您为代码建模,甚至可以帮助您在制作类图之后开始使用。

答案 5 :(得分:0)

我发现这个提取来自DTMF网站关于面向对象建模的关键概念。

  

抽象:删除必要的东西   一个对象的特征   区别于其他所有类型   物体,从而提供清晰   定义概念边界   示例:Cheesburger - 很好   吃饭,玩得开心。

     

模块化:分解   抽象为离散单位   示例:a的各种“层”   cheesburger - 面包,生菜,   番茄酱,蛋黄酱,   汉堡,奶酪,洋葱,pickels,   等。

     

封装:过程   划分一个元素   构成其的抽象   结构和行为;封装   用于分隔界面   抽象及其实施   示例:•烹饪芝士汉堡:    - 炉子可用吗?燃烧器工作吗?是成分   可用? •吃了   芝士汉堡: - 它是否正确?   我的盘子是干净还是恶心?

     

层次结构:排名或排序   抽象。示例:A   芝士汉堡真的是一个子类   汉堡包加奶酪,这是一个   子类的三明治是一个   Hierarchal超类的子类   食品

     

关键要素:类 - 集合   国家,行为的定义,   和/或身份•属性•   方法

     

对象:类的实例

     

协会:关系•   依赖•身份•   聚合•构成•和   其他

答案 6 :(得分:0)

嗯,鉴于代码是一种沟通方式,面向对象编程语言中的面向对象编程是一种建模形式。

然而,人们可以使用不那么具有表现力的建模语言在更抽象的层面进行建模,但可能对其他目的更有用。出于开发软件的目的,与程序关系不紧密的建模主要是针对某类认为非常重要的人进行的练习,并且按照它的方式付费,但事实并非如此。