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

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

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

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

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

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

它有两层含义:

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

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

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

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

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

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)
上一篇 2021年5月26日 下午7:00
下一篇 2021年5月26日 下午8:00


相关推荐

  • nonlocal怎么用_result的用法

    nonlocal怎么用_result的用法这个nonlocal是py3.x中才有的关键词第一种情况,不使用nonlocal的情况:#-*-encoding:utf-8-*-importsysreload(sys)sys.setdefaultencoding(‘utf-8’)deftest():x=1print(“test=”+str(x))#####################

    2025年9月20日
    7
  • Pycharm 快捷键_and_代码格式化

    Pycharm 快捷键_and_代码格式化凯哥英语视频今天用 pycharm 写 HTML 的时候 要修改 js 文档 一看没有格式化 然而我竟然去下载代码格式化插件 结果还使用失败了 更可笑的是 我发现 pycharm 竟然自带 1Pycharm 快捷键编辑类 Ctrl D 复制选定的区域或行 Ctrl Y 删除选定的行 Ctrl Alt L 代码格式化 Ctrl Alt O 优化导入 去掉用不到的包导入 Ctrl 鼠标简介 进入代码定义 Ctr

    2026年3月27日
    1
  • AutoSize属性问题探索

    AutoSize属性问题探索AutoSize属性问题探索如有错误,欢迎指出Google在Android8.0(APIlevel26)中,为TextView加入了一个动态属性AutoSize。在布局文件中,直接设置autoSizeTextType属性为uniform即可。这样,文本内容便会忽略android:textSize属性,从水平和垂直两个方向上缩放文本的内容。android:autoSizeTextType=”uniform”android:autoSizeMaxT

    2022年6月5日
    39
  • golang 激活码[在线序列号]

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

    2022年3月20日
    51
  • 什么是AI智能体(agent)?一文读懂AI智能体:定义、分类与应用,程序员必备收藏指南!

    什么是AI智能体(agent)?一文读懂AI智能体:定义、分类与应用,程序员必备收藏指南!

    2026年3月12日
    1
  • 各种门平面图画法_cad门的画法_用CAD画门的平面图的方法步骤图

    各种门平面图画法_cad门的画法_用CAD画门的平面图的方法步骤图大家在CAD室内平面图中经常看到门吧,那么大家知道怎么用CAD画门的平面图呢?想了解的同学可以参照以下CAD画平面图的教程,自己尝试去画门的平面图!用CAD画平面图的门的方法1、如下图所显示,输入要画矩形的方框,输入rec。2、单击要如下图中点,在进行拉动。3、如果下图没有显示中点的话,可以右击对象捕捉,选择全部选择。4、如下图可以看得以画出一个小矩形框出来。5、可以看到了如下图用矩形画出的门框来…

    2022年5月25日
    68

发表回复

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

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