设计类

--->设计类是系统实施中一个或多个对象的抽象。
        --->设计类已经直接映射到实现代码了,因此设计类依赖于实施语言。另一方面,设计类来源于前期的系统分析,在统一过程中,类不是品空想像出来的。他们可以一一映射到前期系统分析的成果上。从这个观点出发,分析类的重要性就能够体现出来。分析类为设计类中多需要的界面,逻辑和数据提供了非常好的抽象基础,设计类可以非常容易和自然地从分析类中演化出来。


        --->类对对象进行定义,而对象又实现(或成为实施)用例。类的来源可以是用例实现对系统所需对象的需求,这是为实现业务需求而定义的。也可以是任何以前已开发的对象模型,即现有的系统模块,采用的软件框架,第三方产品等。类说明了对象是什么,同时也决定了对象拥有什么属性,具有什么方法。在java和C++这些典型的面向对象语言里,类就对应于一个class声明。
        --->类是对对象某一方面特征的归纳和抽象,而对象则是类实例化的结果。

属性
        ---->属性是对象的特征。
        ---->属性同时表明对象的唯一性。

方法
        ---->原则上,访问对象或影响其他对象的属性或关系的唯一途径是方法,直接访问和修改对象属性是不提倡的。
        ---->对象的方法由它的类进行定义。大多数情况下,类定义的方法都是由实例化后的对象执行的,即这些方法为对象方法。但有时候也可以由类来执行,这种方法称之为类方法。例如,在java中,类方法是由static关键字声明的。一个static方法可以由类来执行而不必实例化成对象。
        ---->方法的作用是访问和改变对象的属性,有时候方法仅仅封装了算法,执行该方法不会改变对象的属性,在面向对象中,需要注意的原则是一个对象的属性只应该由它自己的方法来改变。

可见性
        ---->类的属性和方法都有相似的可见性定义,各编程语言对可见性的处理是不完全一致的。在UML中,可见性可以归纳为以下四类
        ---->共有:除了类本身意外,属性和方法对其他模型元素也是可看见的。共有的可见性应该尽量少用,共有就意味着将类的属性和方法暴露给外部,这与面向对象的封装原则是矛盾的。暴露给外部的内容越多,对象越容易受影响,越容易形成高耦合度。
        --->保护:属性和方法只对类本身,它的子类或友元(取决于具体语言)是可看见的。保护可见性是默认的可见性。它保护属性和方法使其不被外部类使用,防止行为的耦合和封装变得松散。
        ---->私有:属性和方法只对类本身和类的友元(取决于具体语言)是可视的。私有的可见性可以用在不希望子类继承属性和方法的情况下。它提供了从超类对子类的去耦方法。并减少了删除或排除未使用继承操作的需要
        ---->实施:属性和方法只在类本身的内部是可看见的(取决于具体的语言)。实施可见性最具限制性。当只有类本身才可以使用操作时,使用这种可见性。它是私有可见性的变体。

<九>面向对象分析之UML核心元素之设计类,类,属性,方法,可见性的更多相关文章

  1. <四>面向对象分析之UML核心元素之用例

    一:基本概念        --->用例定义了一组用例实例,其中每个实例都是系统所执行一系列操作,这些操作生成特定主角可以观测的值.        --->所谓用例,就是一件事情,要完成这 ...

  2. <十>面向对象分析之UML核心元素之关系

    关系        --->在UML中关系是非常重要的语义,它抽象出对象之间的联系,让对象构成特定的结构.        一,关联关系(association)

  3. <五>面向对象分析之UML核心元素之边界

    一:基本概念

  4. <八>面向对象分析之UML核心元素之分析类

    一:基本概念        ---->在那大数项目中,分析类是被忽视的一种非常有用的元素.        ---->分析类用于获取系统中主要的“职责簇”,他们代表系统的原型类,是系统必须处 ...

  5. <三>面向对象分析之UML核心元素之参与者

    一:版型        --->在UML里有一个概念叫版型.有些书里也称类型,构造型.        --->这个概念是对一个UML元素基础定义的扩展.在同一个元素基础定义的基础上赋予特别 ...

  6. <十二>面向对象分析之UML核心元素之节点和设备

    节点,设备

  7. <七>面向对象分析之UML核心元素之包

    一:基本概念 

  8. <六>面向对象分析之UML核心元素之业务实体

    一:基本概念

  9. <十一>面向对象分析之UML核心元素之组件

    组件

随机推荐

  1. [转载]Winform开发框架之统计图表的实现

    在前面的一些随笔中,介绍了不少我的Winform框架的特性,上篇随笔<Winform开发框架之通用高级查询模块>对其中的通用高级模块进了一个整理说明,本篇继续介绍Winform开发框架重要 ...

  2. java.util.ResourceBundle

    转载自: http://lavasoft.blog.51cto.com/62575/184605 这个类提供软件国际化的捷径.通过此类,可以使您所编写的程序可以:          轻松地本地化或翻译 ...

  3. [转载]Spring Annotation Based Configuration

    Annotation injection is performed before XML injection, thus the latter configuration will override ...

  4. sql中时间的比较方法

    --------------------------------------------------------------------1. 当前系统日期.时间select getdate() 2. ...

  5. 枚举|标志枚举+|(或)和&(与)运算|类型转换|值类型和引用类型|传参|异常|垃圾回收

    枚举部分 enum 关键字用于声明枚举,即一种由一组称为枚举数列表的命名常量组成的独特类型. 通常情况下,最好是在命名空间内直接定义枚举,以便该命名空间中的所有类都能够同样方便地访问它. 但是,还可以 ...

  6. 用cxSelect插件补充一下回显过滤项功能

    这个在DJANGO里,最好在过滤之后,让用户知道自己过滤的选择.所以要定位默认值. 1,在HTML文件里显示默认值: <form class="uk-form" name=& ...

  7. TVM 下载监控

    iftop -n -i em1 -F 218.26.188.220/32 到10.10.81.23上用上面的语句看山西的流量. 到/opt/data/log/下看日志 到/opt/data/tvmca ...

  8. PKUSC 模拟赛 题解_UPD

    之前挖了两个大坑 一个是day1下午的第二题 另一个是day2上午的第五题 先说day1下午的第二题吧 我们显然不能O(n^2)的dp,所以我们只能算贡献 首先对于任意一个边界点而言,他对答案的贡献路 ...

  9. hdu 1005 java(System.out.println();与System.out.println(“\n”);)

    //package Main; import java.util.Scanner; public class Main { static int [][] mat=new int [2][2]; st ...

  10. 修改linux终端命令行颜色

    进入修改:vim /root/.bashrc 1.PS1 要修改linux终端命令行颜色,我们需要用到PS1,PS1是Linux终端用户的一个环境变量,用来说明命令行提示符的设置.在终端输入命令:#s ...