`
kenshinlk
  • 浏览: 118305 次
  • 性别: Icon_minigender_1
  • 来自: 广东.佛山.南海
社区版块
存档分类
最新评论

[转]UML学习笔记(二):运用面向对象思想

阅读更多

面向对象是一个依赖于几个基本原则的思想库。<o:p></o:p>

对象是类的实例。<o:p></o:p>

类是具有相同属性和操作的一类对象集。<o:p></o:p>

继承是面向对象中的一个重要方面。对象继承了所属类的属性和操作。类同样也可以继承其他类的属性和操作。<o:p></o:p>

多态性是另一个重要的方面它是指不同的类中可以有相同名字的操作,并且这个操作在每个类中都能以各自不同的方式执行。<o:p></o:p>

对象对其他对象和外部世界隐藏了其操作的执行过程。每个对象都要提供一个让其他对象用来执行该对象中操作的接口。<o:p></o:p>

对象通过相互之间的消息传递协同工作。消息是执行操作的请求。<o:p></o:p>

对象通常要和其他对象发生关联。关联可以具有多种形式。一个类的对象可能和多个其它类的对象同时发生关联。<o:p></o:p>

聚集是关联的一种,聚集对象由部分对象组成。组成又是一种特殊的聚集。在一个组成对象中,部分对象只能作为组成对象的一部分与组成对象同时存在。

类的可视化表示<o:p></o:p>

如果WashingMachine(洗衣机)类是Household Appliances(家用电器)包的一部分,那么这个类的名字为:Household Appliances::WashingMachine。包名在左,类名在右,中间用双冒号隔开。这种类型的类名叫:路径名(pathname)
   
<o:p></o:p>

<o:p></o:p>

属性<o:p></o:p>

单字属性名小写。如果属性名包含了多个字,这些字要合并,并且除了第一个字外其余字首字母要大写。<o:p></o:p>

对象名首字母小写,后面跟一个冒号,冒号后面是该对象所属的类名,并且整个名字要带下划线。<o:p></o:p>

命名实例:myWasher:WashingMachine<o:p></o:p>

匿名实例:WashingMachine<o:p></o:p>

例:类的属性在该类的对象中都有具体值
   
<o:p></o:p>

<o:p></o:p>

例:属性可以带类型和缺省值
   
<o:p></o:p>

<o:p></o:p>

操作<o:p></o:p>

单字操作名小写。如果操作名包含了多个字,这些字要合并,并且除了第一个字外其余字首字母要大写。
   
<o:p></o:p>

<o:p></o:p>

在操作名后面的括号中可以说明操作所需要的参数和参数的类型。有一种操作较函数(function),它在完成操作后要返回一个返回值。可是指明函数的返回值及返回值的类型。上述全部的操作信息被称为操作的型构。<o:p></o:p>

例:操作的型构
   
<o:p></o:p>

<o:p></o:p>

属性、操作和可视化表达<o:p></o:p>

有时,只显示类的一部分属性和操作很有用。为了说明你只表示出部分操作和属性,可以在列表的后面加上3个小点“…”。这个符号叫省略符,这种省略了一个或多个属性或者操作的表示法叫做类的省略表示法。<o:p></o:p>

如果属性或者操作列表太长,可以用构造型来组织属性或操作列表,以方便理解。构造型是UML提供的扩展机制:它允许你创建新的模型元素以解决具体问题。构造型用双尖角括号括住的名字来表示。<o:p></o:p>

例:省略符号说明还有没列出来的属性或操作
   
<o:p></o:p>

<o:p></o:p>

例:可以使用构造型来组织属性和操作列表 
   
<o:p></o:p>

<o:p></o:p>

职责和约束<o:p></o:p>

职责描述了类做什么——也就是类的属性和操作能完成什么任务。<o:p></o:p>

这里的想法是要有足够的信息以非二义性的方法去描述一个类。说明类的职责是消除二义性的一种非形式化的方法。<o:p></o:p>

更形式化的方法是使用约束,它是一个用花括号括起来的自由格式的文本。括号中的文本指定了该类所要满足的一个或者多个规则。<o:p></o:p>

例:在类图标中,操作列表区域的下面区域可以写类的职责
   
<o:p></o:p>

<o:p></o:p>

例:用花括号括起来的规则表达式限制了洗衣机的容量之只能三者选一<o:p></o:p>

<o:p> </o:p>

附加注释<o:p></o:p>

<o:p></o:p>

<o:p> </o:p>

分享到:
评论

相关推荐

    .Net 面向对象及设计模式总结

    通过阅读这些笔记,我们可以深入理解面向对象的核心概念,并掌握在.Net环境下如何运用设计模式来解决实际问题。 首先,面向对象编程(Object-Oriented Programming,简称OOP)是软件开发中的主要编程范式,其核心...

    java\CoreJava笔记\CoreJAVA_day01

    - 逻辑思维与面向对象思想:在编写代码时,需具备良好的逻辑思维,将现实世界的问题转化为面向对象的解决方案。 2. **Java特性**: - 夸平台性:通过Java虚拟机(JVM),Java程序可以在不同的操作系统上运行,...

    hibernate学习笔记

    这篇学习笔记将深入探讨Hibernate的基础和关键特性,包括其核心概念、配置、注解使用以及ORM的核心原理。 1. **Hibernate概述** Hibernate是一个开源的ORM框架,由Gavin King创建,它通过提供一个接口,让开发者...

    软件设计师中级王勇老师课程笔记-6程序设计语言与语言处理基础

    王勇老师通过具体的编程案例,向学员展示了如何运用面向对象思想来解决问题。比如,通过继承和多态来实现类的复用与扩展;利用接口定义行为规范等。这些实践经验对于提高编码能力和解决实际问题具有重要作用。 以上...

    韩顺平_Java设计模式笔记.docx

    - **应用场景**:从面向对象的设计到具体项目的功能模块,再到各种框架和架构层次,设计模式无处不在,帮助开发者构建更加健壮、可维护的软件系统。 #### 1.2 课程亮点和授课模式 - **课程亮点**:本课程强调设计...

    ooad.zip_OOAD

    面向对象分析与设计(Object-Oriented Analysis and Design,简称OOAD)是软件工程领域中一种重要的方法论,用于...在不断学习和实践中,我们可以更好地理解和运用面向对象的设计原则,从而创造出更优秀的软件产品。

    黑马程序员_Java基础辅导班教程课件[第01期]第7天

    总的来说,这个Java基础辅导班的第7天课程将深入探讨面向对象编程的关键概念,通过实际操作和理论讲解相结合的方式,帮助学习者构建坚实的基础,为后续的高级主题学习打下坚实的基础。通过反复练习和理解,学习者将...

    软件设计师复习笔记资料.rar

    编程语言是软件设计师的工具,如Java、C++、Python等,需要熟练掌握至少一种高级编程语言,并理解面向对象编程思想。同时,数据结构如数组、链表、树、图、队列、栈等,是解决问题的关键,掌握它们的特性并能运用到...

    韩顺平_java设计模式笔记

    Java设计模式是软件开发中的一种最佳实践,它们是为了解决特定场景下的设计问题而发展起来的。...设计模式的学习对于成长为一名合格的软件工程师至关重要,因为它们体现了面向对象编程中的核心思想。

    软件工程教案范本.pdf

    例如,第一章总览中,重点在于理解软件工程的三个基本要素(方法、过程和工具)和面向对象软件工程思想,学习使用统一建模语言(UML)进行建模。 考核方式多样化,包括平时成绩(考勤和读书笔记)、期中成绩、期末...

Global site tag (gtag.js) - Google Analytics