【复习】软件设计师之论:面向对象思想

【复习】软件设计师之论:面向对象思想

 面向对象 = 类 + 继承 + 对象 + 消息通信

对象:是系统中用来描述客观事物的一个实体,他是构成系统的一个基本单位

对象有三要素:对象标志,属性和服务

封装:是对象的一个重要原则。

它有两层含义:

第一:对象是其全部属性和全部服务紧密结合而形成的一个不可分割的整体;

第二:对象是一个不透明的黑盒子,表示对象状态的数据和实现操作的仪码都封装在黑盒子里面。

类:对具有相同属性和服务的一个或一组的抽象类与对象描述和具体实例的关系,一个具有的对象被称作类的一个实例。

继承和泛化:继承是面向对象方法中重要的概念,用来说明特殊类(子类)与一般类(父类)的关系,通常使用泛化来说明一般类与特殊类之间的关系,他们之间是一对多关系。

多态性与重载:多态性(即多种形式)则是一般类中定义的属性或者服务被特殊类继承后,可以具有不同的数据类型或者表现出不同的行为,通常是使用重载和改写两项结束来实现。

1.重载(专用多态)描述一个函数名称有多重不同实现方式,通常可以在编译时基于类型签名来区分各个重载函数的名称

2.覆盖(包含多态)是重载的一种特殊情况,只发生存在父类和子类这一关系中。

注:通常签名相同,内容不一样。

3.多态变量(赋值多态,强制多态)声明为一种类型,但实际上却可以包含另一种类型数值的变量。

4.泛型(模板,参数多态)它提供了一种创建通用工具的方法,可以再特定的场合将其泛化

多态:

通用的:

参数多态

包含多态

特定的:

过载多态

强制多态

消息和消息通信:

1.消息就是向对象发出的服务请求,它通常包括提供服务的对象标志,消息名,输入信息和回答新。

2.消息通信则是面向对象方法学中的一个重要原则。它与对象的封装原则密不可分,为对象提供了唯一合法的动态获取的途径。

面向对象学的优点

1.与人类习惯的思维方式一致

2.稳定性好

3.可重用性好

4.较易开发大型软件产品

5.可维护性好

在面向对象技术中,类属于是一种参数多态机制,一个类属类是关于一组类的一个特性抽象,它强调的是这些类的成员特征中与具体类型无关的那些部分,而用变元类表示与具体类型有关的那些部分。

转载于:https://www.cnblogs.com/changemax/p/10015125.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101708.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • onclick与addEventListener区别

    onclick与addEventListener区别这次做项目遇到了这个问题,本来习惯性的每次都写的是addEventListener绑定click事件。但是当用addEventListener绑定了多次click事件的时候,引发了我的思考,这两者有区别吗?具体的事件分析可查看另一篇文章结论:1.onclick事件在同一时间只能指向唯一对象2.addEventListener给一个事件注册多个listener3.addEventLi…

    2022年7月12日
    22
  • jvm jstat_预处理命令是什么意思

    jvm jstat_预处理命令是什么意思作用JVMstatisticsMonitoring,用于监视虚拟机运行时状态信息的命令,它可以显示出虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。使用依旧先看一下使用帮助~ᐅjstat-helpUsage:jstat-help|-optionsjstat-<option>[-t][-h<lines&…

    2022年9月11日
    0
  • html给网页添加背景音乐_网页怎么在属性里加入音乐

    html给网页添加背景音乐_网页怎么在属性里加入音乐方式一:<videocontrols=””autoplay=””name=”media”><sourcesrc=”音乐”type=”audio/mpeg”></video><videocontrols=”true”autoplay=”true”name=”media”loop=”true”hidden=”true”…

    2022年9月24日
    1
  • Linux netstat命令详解

    Linux netstat命令详解简介Netstat命令用于显示各种网络相关信息,如网络连接,路由表,接口状态(InterfaceStatistics),masquerade连接,多播成员(MulticastMemberships)等等。输出信息含义执行netstat后,其输出结果为ActiveInternetconnections(w/oservers)ProtoRecv-QSend-QLocalAddressForeignAddressStatetcp02210.34.6.

    2022年5月30日
    30
  • 5G信道建模

    5G信道建模5G毫米波一般认为毫米波波段的信道具有稀疏性,即径数远小于天线数,因此直接在角度域上通过估计各条径的AoD/AoA和增益系数做信道估计,比起在天线域上做信道估计更简单。但这么做还隐含了每条可分辨径的角度扩展很小这样的假设,在mmWavemMIMO系统中,信道估计等同于估计AoA和AoD以及每条path的散射系数,就是毫米波波段的情况。而在低频NLoS情况下,由于散射传播路径非常丰富,信道不存在稀疏性,也没有一个清晰的几何结构,因此一般建模为随机的比如Rayleigh信道。对于这种信道我们就对其整体进行估

    2022年5月2日
    75
  • fgc解决思路

    fgc解决思路查看服务gc次数jstat-gc95000,9是运行服务的pid5000表示5秒输出一次jstat命令命令格式:jstat[Options]vmid[interval][count]参数说明:Options,选项,我们一般使用-gcutil查看gc情况vmid,VM的进程号,即当前运行的java进程号interval,间隔时间,单位为秒或者毫秒cou…

    2022年6月19日
    46

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号