当前位置: 首页 > news >正文

面向对象之类、继承和多态

        系统是由汇总了数据和过程的“对象”组成的。在面向对象中,软件被定义为“类”,然后创建“实例”并运行。系统是通过“实例”之间的互相交换“消息”而运行的,但由于进行了“封装”,所以无法查看内部的详细内容,这被称为“信息隐藏”。当发送“消息”时,并不会在意对方“实例”是哪一个“类”,这被称为“多态”。

1.类

类是面向对象的最基本的结构,与其对应的概念是实例。

类的英文是class,含义是“种类”,“类型”等“同类物品的集合”。

实例的英文是instance,含义是“具体的物”。类指类型,实例指具体的物,二者的关系就相当于数学集论中的集合和元素一样。

2.多态

多态,英文含义为:“变为各种形式”,通常翻译为“多态”、“多相”等。

如果用一句话来表示该结构,就是“让向相似的类发送消息的方法通用的结构”,也可以说是“发送消息时不关心对方具体是哪一个类的实例的结构”。

多态是一种方便消息发送者的手法。

3.继承

用一句话来表示继承,就是“系统的整理物的种类共同点和不同点的结构”。

在面向对象中,“物的种类”就是类。因此, 换一种给表达方式,,也可以说及继承是“整理相似事物的类的共同点和不同点的结构”。

类和实例相当于集合和元素,而继承则相当于全集和子集。

在面向对象中,全集被称为超类,子集被称为子类。

此继承关系还可以应用于现实中的各种情况,比如将医生分为内科医生、外科医生、眼科医生和牙科医生,将公司职员分为营业人员、技术人员和办公人员等

应用于编程中则是:

Java等面向对象编程语言中可以直接描述继承。具体来说,在超类中定义全集共同的性质,在子类中定义子集特有的性质,这样我们就可以不用重复定义非常相似的、只存在略微不同的类的共同点和不同点了。

http://www.lryc.cn/news/613110.html

相关文章:

  • leafletMap封装使用
  • 动手学深度学习13.11. 全卷积网络 -笔记练习(PyTorch)
  • Linux 中断系统全览解析:从硬件到软件的全路线理解
  • 外部排序总结(考研向)
  • MongoDB数据存储界的瑞士军刀:cpolar内网穿透实验室第513号挑战
  • 数据结构:双向链表(Doubly Linked List)
  • 生成对抗网络(GAN)实战 - 创建逼真人脸图像
  • 电路相量法
  • (易视宝)易视TV is-E4-G-全志A20芯片-安卓4-烧写卡刷工具及教程
  • C++的“模板”
  • day069-Jenkins基础使用与参数化构建
  • golang的面向对象编程,struct的使用
  • 急危重症专科智能体”构建新一代急诊、手术与重症中心的AI医疗方向探析
  • 【深度学习机器学习】构建情绪对话模型:从数据到部署的完整实践
  • 小鸡模拟器安卓版:经典街机游戏的移动体验
  • Elcomsoft Wireless Security Auditor 安装教程-安全检测工具使用指南
  • 数据结构----栈和队列认识
  • 深度学习-卷积神经网络CNN-1×1卷积层
  • 仓库管理系统-21-前端之入库和出库管理
  • Windows中安装rustup-init.exe以及cargo build报错443
  • 零基础-动手学深度学习-9.3. 深度循环神经网络
  • 流程图使用规范
  • Android 之 面试八股文
  • GCC与NLP实战:编译技术赋能自然语言处理
  • 解决GitHub无法打开
  • idea开发工具中git如何忽略编译文件build、gradle的文件?
  • 复杂井眼测量中,陀螺定向和磁通门定向哪个更胜一筹?
  • 幕后英雄 —— Background Scripts (Service Worker)
  • 浅析 Berachain v2 ,对原有 PoL 机制进行了哪些升级?
  • 我的世界Java版1.21.4的Fabric模组开发教程(十七)自定义维度