抽象、封装、继承、多态

news2024/11/15 13:35:48

抽象

抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征的过程。

下面是抽象到封装的过程

如果不考虑实际的情况下
人的定义:有嘴、有脚、有眼睛、有耳朵、会吃饭、会跑。

动物的定义:有嘴、有脚、有眼睛、有耳朵、会吃饭、会跑、有毛。

因此猴子和猩猩即属于动物也属于人,人和动物(也就是我们所说的类class)。

封装是按照一定的规则对共同特征量的组合。

抽象是对共同特征量的抽取。

封装

封装意味着把对象的属性和方法结合成一个独立的系统单元,并尽可能隐藏对象的内部细节。

封装是面向对象思想描述的基础,从此程序员面对的就不再是许多复杂的函数和过程实现,而是极少数具有行为能力的个体实例。

举例来说明一下,比如相思鸟和乌鸦,我们在抽象时,我们忽略那些比如嘴不一样,而我们只在意它们都是有嘴的:mouth;我们忽略它们羽毛颜色的不一样,而只在意它们的羽毛是有颜色的:color;然后我们抽象出嘴、羽毛颜色等特点。

然后我们通过抽象出的这些特点,将它们封装成鸟类Bird,这就是封装。

继承

子类对象拥有与其基类全部相同的属性和方法,成为继承。

还拿这个图解释

继承是因为父类的所有特征量都符合子类,而子类又包含父类没有的特征量,因此子类自身保留父类没有的特征量,与父类共同的特征量通过继承父类获得。

如:

因为猴子有尾巴,但是动物不包含尾巴,人不包含尾巴和毛,此时想表达猴子,需要创建一个猴子类保留动物或者人不包含的特征量,再继承动物或者人;

Class Animate{

......

}

Class People {

......

}

猴子表达方式:

 class Monkey extends Animate {

  定义尾巴特征量

}

或者

 class Monkey extends People {

  定义尾巴特征量

  定义毛特征量

}

多态

多态是指再基类中定义的属性和行为被子类继承后,可以具有不同的而数据类型或者表现行为等特性。

比如猴子和猩猩都继承了动物类但是在跑方式不同,因此跑方法的实现自然也是不同,子类根子自身自由的特有方式实现了特征量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/510189.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年网红经济研究报告

第一章 行业概况 随着社交媒体和移动互联网的普及,网红经济迅速崛起。网红经济,是指以网络为平台,通过网红的影响力、热度和传播力,形成的一种以流量变现为主的商业模式。网红经济涉及到的行业非常广泛,如美妆、时尚、…

ai聊天机器人chatgpt收费版

AI聊天机器人的功能通常包括以下几个方面: 自然语言理解。该功能可以识别并理解用户输入的自然语言,如文本、语音等,以便进行后续的处理和回复。 对话管理。该功能可以管理对话的上下文和流程,并根据用户的输入和意图来产…

Linux系统查看CPU信息命令cat /proc/cpuinfo详细说明

Linux操作系统服务器如何查看CPU处理器信息?使用命令cat /proc/cpuinfo可以查看CPU详细信息,包括CPU核数、逻辑CPU、物理CPU个数、CPU是否启用超线程等,阿里云服务器网分享Linux服务器查看CPU信息命令: 目录 Linux服务器查看CPU…

JavaWeb12-三大组件之监听器-Listener

1. 官方文档 文档:java_ee_api_中英文对照版.chm 2. Listener 监听器介绍 Listener 监听器它是 JavaWeb 的三大组件之一。JavaWeb 的三大组件分别是:Servlet 程序、Listener 监听器、Filter 过滤器Listener 是 JavaEE 的规范,就是接口监听…

(附源码)计算机毕业设计Java动物在线领养网站

项目运行 🍅包售后,包调试,包讲解🍅 🍅获取方式1:文章末尾获取联系🍅 🍅获取方式2:点我进入,文章末尾获取联系🍅 🍅包售后,包调试,包讲…

WX小程序 - 2

条件渲染: wx:if "{{ newlist.length 0 }}" wx:else 跳路由:绑定点击事件,执行跳转页面 bindtap data-id"{{ item.id }}" 添加id wx.navigateTo 跳路由并传参, 下一个路由 onLoad生命周期可以获得参数…

每周一算法:前缀和

前缀和 前缀和可以理解为数列的前 n 项的和。它通过预处理的方式,能够快速查询序列中从第L个数到到第R个数的和。 算法思想 其基本思想是在原序列的基础上预处理一个前缀和数组 s [ ] s[] s[],其中 s [ i ] s[i] s[i]表示序列前 i i i个数的和。通过前…

Exception in thread “main“ java.lang.UnsupportedClassVersionError

java MainDemo执行main方法报错 Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.UnsupportedClassVersionError: MainDemo has been compiled by a more recent version of the Java Runtime…

多台电脑共享鼠标键盘软件

背景 最近接手了2个不同base的项目,由于2个base的不同代码加密管理,必须要用两台电脑进行分别开发。于是,我不大的办公桌上要摆上2个键盘和2个鼠标,一下子就显得桌面特别杂乱,办公心情都不舒畅了。 我跟朋友吐槽了这件…

用LeangooScrum敏捷工具做缺陷管理和迭代规划和迭代执行

上一篇我们介绍了如何管理产品路线图(用Leangoo领歌Scrum敏捷开发工具管理产品路线图?_哆啦B梦_的博客-CSDN博客)和敏捷需求管理(使用敏捷开发工具做敏捷需求管理流程_哆啦B梦_的博客-CSDN博客) 这一篇我们介绍下如何用Scrum敏捷…

纷享销客携手百捷、锐之旗走进湖南竞网,探索互联网营销创新

近日,《互联网营销创新增长路径-高管面对面闭门会》在长沙成功举办,活动邀请武汉百捷集团股份有限公司、河南锐之旗信息技术有限公司,两家互联网营销服务头部企业的高层走进湖南竞网数字科技集团有限公司(以下简称“竞网”&#x…

[CSDN] 512创作纪念日,大处着眼,小处着手,乐观进取

大家好,我是一名程序员,也是一名CSDN博客作者,今天是我成为CSDN博客作者的512天纪念日,我想借此机会和大家分享一下我的创作历程。 初心与动力 从事IT行业多年,我深深感受到这个行业变化的速度非常之快,需…

责任链模式——使编程更有灵活性

● 责任链模式介绍 责任链模式(Iterator Pattern),是行为型设计模式之一。什么是“链”?我们将多个节点首位相连构成的模型称为链,比如生活中常见的锁链,就是由一个个圆角长方形的铁环串起来的结构。对于链式结构&…

浅谈绿色创新型校园的节约能耗与能耗管理的应用

摘要:保护地球资源和环境的可持续发展理论成为我国的基本国策。建筑节能上升到较高地位。仅有能量的“守恒”是不够的,更要研究用*小代价和*小能耗来满足人们的而合理需求,实现建筑合理用能。文章主要针对学校能源管理的问题进行研究&#xf…

带你简单了解Chatgpt背后的秘密:大语言模型所需要条件(数据算法算力)以及其当前阶段的缺点局限性

带你简单了解Chatgpt背后的秘密:大语言模型所需要条件(数据算法算力)以及其当前阶段的缺点局限性 1.什么是语言模型? 大家或多或少都听过 ChatGPT 是一个 LLMs,那 LLMs 是什么?LLMs 全称是 Large Language…

TomcatServletHTTP

1、Web概述 1.1 Web相关概念 Web是全球广域网,也称为万维网(www),能够通过浏览器访问的网站。 在我们日常的生活中,经常会使用浏览器去访问百度、京东、传智官网等这些网站,这些网站统称为Web网站。 如下就是通过浏览器访问传智…

基于AT89C51单片机的电子计数器设计与仿真

点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87770826 源码获取 主要内容: 设计一个电子计时器,数码管初始显示值为“00”,每隔1s电子秒表加1;秒计数到60时清0&a…

【网络】Socket编程-UDP篇

文章目录 预备知识源IP地址和目的IP地址源MAC地址和目的MAC地址源端口号和目的端口号"端口号port" 和 "进程ID"认识TCP/UDP协议网络字节序 Socket编程sockaddr结构API接口 简单的UDP网络程序服务器server服务端创建套接字:socket函数**socket的底层原理** …

metaRTC6.0 whip/whep编程指南

概述 WHIP/WHEP都是基于 HTTP 的协议并且是IETF国际标准,国内外一些主流的开源webRTC SFU都开始支持WHIP/WhEP协议。 WHIP: WebRTC-HTTP ingestion protocol (WHIP) WHEP: WebRTC-HTTP egress protocol (WHEP) 下载源码 GitHub - metartc/metaRTC: A cross-pla…

Matlab \和 / . * 和* ./ 和.\ 总结

一、* 与.* a、向量 >> a[1 2 4]; >> b[2 4 6]; a.*b[1*2 2*4 4*6][2 8 24]; 注意:a 和b 的长度是一样的。 dot1*2 2*4 4*634 a*b34 >> a[1 2 4]; >> b[2 4 6]; >> a.*bans 2 8 24>> dot(a,b)ans 34>> a*…