什么是面向对象?

谈到面向对象,我们不得不说到面向过程。因为面向对象就是从面向过程过渡而来的。

面向过程:就是将一个大的任务分成一条条小的步骤,这些步骤由一个个函数来完成。

而面向对象呢,更加注重这个任务中的参与者,需求里有哪些对象,这些对象完成哪些任务。所以将这个任务拆解成一个个对象和模块,提高了代码的维护性和拓展性。

谈到面向对象我们又不得不提到面向对象的三大特性:封装,继承,多态。

封装:使用访问修饰符修饰,例如public,private。将内部实现细节隐藏,对外只提供公共的访问方法。这样的好处就在于,隐藏了内部实现细节,提高安全性,对外提供公共访问方法,提高代码复用性。封装的意义就在于,隐藏了实现细节,对外的调用者来说是透明的,调用者无需知道内部实现方式,只需要知道这个方法是干什么的就好了。

继承:继承是子类使用extends关键字去继承父类的关系。继承主要用途就是将子类中共有的方法抽取到父类中,比如说共有的属性和方法,更大的提高的代码复用程度。

继承的好处:1,想要使用这些属性和方法的时候,直接调用父类的即可,无需再重新定义,更大程度的提高了代码的复用性。

2,无需再写很多冗余代码,如果需要个性化定义子类方法,在子类中去重写父类方法即可。

多态:多态指同一行为具有不同表现形式和形态的能力。在Java中就是用父类表示子类,同一个父类可以表示不同的子类,父类就有不同状态。

多态存在的三个必要条件:1,继承;2,重写;3,父类引用指向子类对象。

但是多态存在缺点:就是子类向上转型,就无法调用子类方法和属性。处理方法:强转。

使用instanceof(Java中的一个双目运算符)判断实际类型,然后进行强转,否则会报错。

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

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

相关文章

算法学习002-填数游戏 中小学算法思维学习 信奥算法解析 c++实现

目录 C填数游戏 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 七、推荐资料 C填数游戏 一、题目要求 1、编程实现 在小学奥数中经常会看到一些填数字的游戏,如下图所示,其中每个…

【PostgreSQL】pg触发器介绍

注: 本文为云贝教育 刘峰 原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。 触发器是在对指定表执行指定更改操作(SQL INSERT、UPDATE、DELETE 或 TRUNCATE 语句)时自动运行的一组操作…

3个IE还不够?誉天大牛学员:我要学5个!

乔同学 誉天4HCIERHCA学员 2018年盛夏,在那个充满了炙热与躁动的青春里,因为考HCIA-R&S,我和誉天相遇了。我想,大概是从那个时候开始,命运的齿轮便发生了转动,为我打开了通往ICT的大门。 时至今日&…

【C语言】变量占用内存的大小内存对齐

32位系统 64位系统类型 大小 大小 char 1 1 char * 4 8int 4 4 int * 4 8 short 2 2 short int 2 …

vue2左侧菜单栏收缩展开功能

目录 1. Main.vue页面代码 a. 修改侧边栏属性 b. 修改头部导航栏 c. 定义我们的变量 d. collapse函数 2. Header.vue页面代码 3. Aside.vue页面代码 vue2左侧菜单栏收缩展开目前是非常常见的,我们在日常开发过程中经常会碰到。这一小节我们就详细了解一下这个…

如何使用PHPMyAdmin进行数据库备份

本周有一个客户,购买Hostease的虚拟主机,询问我们的在线客服,如何使用PHPMyAdmin进行数据库备份。我们为用户提供教程,用户很快完成了设置。在此,我们分享这个操作教程,希望可以对您有帮助。 它适用于安装P…

IP代理有什么好处?怎么在浏览器中设置代理IP?

在当今互联网时代,代理IP已成为网络生活中不可或缺的一部分。代理IP可以帮助我们隐藏真实的IP地址,保护我们的隐私和安全本。文将介绍代理IP的好处以及如何在浏览器中设置代理IP。 一、代理IP的好处 保护隐私和安全 使用代理IP可以隐藏我们的真实IP地址…

Vue3+Nuxt3 从0到1搭建官网项目(SEO搜索、中英文切换、图片懒加载)

Vue2Nuxt2 从 0 到1 搭建官网~ 想开发一个官网,并且支持SEO搜索,当然离不开我们的 Nuxt ,Nuxt2 我们刚刚可以熟练运用,现在有出现了Nuxt3,那通过本篇文章让我们一起了解一下。 安装 Nuxt3 // npx nuxilatest init &…

笔试刷题-Day10

牛客 一、DP30买卖股票的最好时机(一) 算法:虽然题目标了DP但是用贪心更快页更容易理解 import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main {public static void main(String[] args) {Sca…

动态规划-子序列问题1

文章目录 1. 最长递增子序列(300)2. 摆动序列(376)3. 最长递增子序列的个数(673)4. 最长数对链(646) 1. 最长递增子序列(300) 题目描述: 状态表…

气血足不足主要看看两个部位这些补气血的调理方法帮到您

气血足不足,关键看这两处:1、观耳识气血:红润饱满,弹性十足,这便是气血旺盛的直观表现。然而,随着年龄的增长,许多人会发现耳朵逐渐松弛、出现皱纹,这往往暗示着气血的流失。这里有个…

电路邱关源学习笔记——3.5回路电流法

1.回路电流法 以基本回路中沿回路连续流动的假想电流为未知量列写电路方程分析电路的方法。它适用于平面和非平面电路。 列写的方程 回路电流法是对独立回路列写KVL方程,方程数为:b-n1 注意:与支路电流法相比,方程数减少了n-1个…

机器人操作系统ROS2学习—编译工作空间colcon build报错问题

在ROS2中,工作空间创建完成后,会经常需要编译工作空间。在工作空间dev_ws 下打开一个终端,通过指令Colcon build来编译工作空间。 1、这个过程有可能会出现如下错误: "colconbuild:Duplicate package names not supported" 根据…

Java17的stream流里toList和.collect(Collectors.toList())有什么不同

源码分析: .collect(Collectors.toList()); public static <T>Collector<T, ?, List<T>> toList() {return new CollectorImpl<>(ArrayList::new, List::add,(left, right) -> { left.addAll(right); return left; },CH_ID);}在源码里能看到,使用…

MySQL商城数据库表(41-45)

41——短信发送记录表&#xff08;guo_log_sms&#xff09; CREATE TABLE guo_log_sms (smsId int(11) NOT NULL AUTO_INCREMENT COMMENT 自增ID,smsSrc tinyint(4) NOT NULL DEFAULT 0 COMMENT 消息类型,smsUserId int(11) NOT NULL DEFAULT 0 COMMENT 发送者ID,smsContent v…

实现堆的各种基本运算的算法(数据结构)

以小堆为例&#xff0c;大堆就举一反三了。 堆的物理结构就是普通的数组&#xff0c;但是逻辑结构看成了一颗完全二叉树。 小堆&#xff0c;就是树的每一个父节点都小于他的孩子节点。如图中第一排的a与b。大堆&#xff0c;就是树的每一个父节点都大于他的孩子节点。如图中第…

DBA-现在应该刚刚入门吧

说来话长 在2023年以前&#xff0c;我的DBA生涯都是“孤独的”。成长路径除了毕业前的实习期有人带&#xff0c;后续几乎都是靠自学。如何自学&#xff0c;看视频、看文档、网上查阅资料、项目实战。 可能是学疏才浅 &#xff0c;一直都是在中小公司混&#xff0c;在中小公司通…

为什么本国货币的贬值会导致本国物价的上涨

本国货币贬值意味着其对外国货币的汇率下降&#xff0c;也就是说&#xff0c;同样数量的本国货币现在能兑换的外国货币减少了。这种情况下&#xff0c;本国货币的购买力相对于外国货币减弱了。本国货币贬值可能导致本国物价上涨的几个原因&#xff1a; 进口成本上升&#xff1a…

德思特手持式频谱分析仪加速公共无线事业的运行

一、公共无线事业中无线电的重要性 提起无线电&#xff0c;许多人或许觉得这是非常老旧的观念。实际上&#xff0c;无线电在我们的生活中占据着非常重要的地位。当前&#xff0c;无线电早已成为受众最广泛的大众媒介。据工业和信息化部资料显示&#xff0c;全球95%的人口都可以…