zoukankan      html  css  js  c++  java
  • 面向对象的基本原则

    面向对象的基本原则有,抽象、分类、封装,消息通信,多态性,行为分析和复杂性控制。

    一、抽象

     抽象是指从事物中舍弃个别的、非本质的特征,抽取共同的,本质特征的思维方式。

    从几个方面理解抽象,

    1,编程语言本身越来越抽象。

    过程抽象,如,函数。

    数据抽象,如,类,栈。

    在类的范围内,使用过程抽象来形成操作。

    数据抽象是指把数据类型和施加在其上的操作结合在一起,形成一种新的数据类型。

    2,在面向对象方法中,对象是对现实事物的抽象,类是对对象的抽象,一般类是对特殊类的抽象。

    3,不同开发阶段需要不同程度的抽象。

    分析阶段,先定义属性和操作。实现相关的放到设计阶段。

    和在现实生活中一样,我们在较高的抽象层次上分析和解决问题,然后在较低抽象层次上予以落实。

    抽象的好处,一是便于访问(接口),二是便于维护(可以修改替换实现不影响用户使用)。

    二、分类

    相同属性和相同操作 的对象划分为一类。

    可以用不同程度的抽象,可进一步分为分为一般类 / 特殊类。

    三,封装

     两层含义,

    1,把对象的属性和操作包装起来,形成一个独立的单元。

    2,信息隐蔽。

    在对象外部不能随意访问对象的内部数据和操作。只允许通过public操作来访问,降低了对象之间的耦合度。

    只能通过消息来通信,保护内部数据安全。

    四,消息通信

     封装原则促使 对象之间只能通过消息通信。一个对象可以是消息的发送者,也可以是消息的接收者,还可以作为消息中的参数。

    五,多态性

     一般类和特殊类可以具有相同格式的属性和操作。

    同一消息,不同对象对其响应,表现出不同行为。

    六,行为分析

     基于静态模型进行行为分析。

    状态机图分析对象的状态变迁情况。对于一个对象,由于其内部的属性值在不断发生着变化,按照一定的规则根据属性值可以把对象划分为不同的状态。在请求对象操作时,可能会使对象的状态发生变化,二对象的当前状态对随后的执行是有影响的。用状态机图跟踪变化。

    交互图来描述对象之间的协作。对象之间通过发消息共同完成某项功能。

    交互图描述对象之间的并发行为。很多系统有并发行为。从事物的并发行为起因上看,事物的每个并发行为是主动发生的。体现在对象上,就是一种对象是主动的,每个对象代表着一个进程或线程。在交互图上也能体现出对象之间的并发行为。

    七,复杂性控制

     为了控制系统模型的复杂性,引入了包(package)的概念。

     用分析包和设计包来分别组织分析模型和设计模型,以显示地描述不同抽象层次的模型。

    对复杂类图也可以按类之间关系的紧密程度来用包来组织类。

    如果觉得本文对您有帮助~可以支付宝(左)或微信支持一下:


    看到小伙伴打赏时给我写一些鼓励的话,真的非常感动,谢谢你们。


    我开了个微信公众号(第三个二维码)用来分享自己的职场英语相关学习经验,感兴趣可以关注,我会不断更新~


    微信打赏微信公众号

  • 相关阅读:
    学英语舌尖效应(转)
    winform程序防止重复运行
    label字符自动换行(转自网络)
    C# WINFORM中的combobox.items.add实现像web开发那样,添加显示内容text和实际value值
    三极管开关电路设计(转)
    ASPNET+ArcGIS+Flex初次使用笔记
    转:oracle日期函数集锦
    网站开发人员应该知道的62件事
    cassandra的安装与使用
    datejs一个很好用的时间日期JavaScript组件
  • 原文地址:https://www.cnblogs.com/starof/p/14779346.html
Copyright © 2011-2022 走看看