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

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

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

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

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

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

它有两层含义:

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

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

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

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

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

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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 三星note3怎样刷原生Android,三星note三可以刷原生android系统吗?

    三星note3怎样刷原生Android,三星note三可以刷原生android系统吗?可以的。1刷之前要备份好个人的通讯录等资料。如果你的手机使用正常就不用去刷了。自己刷也是可以的,但要到网上下载手机软件,三星的网上版本多,有些是专为水货编写的。2刷机最好在风险可控前提下的刷机。当前DIY的版本都是基于原版的,只不过是将原来的图片替换成另外的图片,将原来的铃声替换成另外的铃声,没有动核心部分。只是替换更改了部分图片、铃声或者菜单字符等,所以不应该有不良影响,按步骤操作,刷机是基本上…

    2022年6月19日
    40
  • 配置pycharm下的tensorflow环境

    配置pycharm下的tensorflow环境PyCharm就是Python语言开发中一个很受欢迎的IDE,界面类似于visualstudio,androidstudio,集成的功能也很多。集成开发环境(IDE,IntegratedDevelopmentEnvironment)是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。1.首先确保安装好了tensorflow,链接:htt…

    2022年8月26日
    32
  • navicate15 mysql激活码【在线注册码/序列号/破解码】

    navicate15 mysql激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    48
  • win10系统下JDK环境变量配置失败的原因

    win10系统下JDK环境变量配置失败的原因win10系统下配置JDK环境变量,按照网上的教程,最后cmd验证总是出错,经过探索才发现,网上的教程都是win7的,在配置PATH时,网上的教程是:%JAVA_HOME%\bin;最后的分号,win7需要,win10是不需要的。当点击编辑出现的是这个界面的时候,直接添加即可,不用带;…

    2022年7月21日
    13
  • object object_无监督命名实体识别

    object object_无监督命名实体识别目录1、NER简介2.NER方法2.1传统机器学习方法:HMM和CRF2.2LSTM+CRF:BiLSTM-CRF2.3CNN+CRF:IDCNN-CRF2.4BERT+(LSTM)+CRF:BERT实现(1)获取BERT预训练模型(2)修改数据预处理代码:DataProcessor(3)构建模型:create_model(4)模…

    2025年8月20日
    4
  • 什么叫应用程序域?(zhuan)

    什么叫应用程序域?(zhuan) 一:应用程序域介绍:    "域",就是范围,环境,边界的意思,那么什么是应用程序域,官方给出的是这样的解释:操作系

    2022年7月3日
    18

发表回复

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

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