教妹学Java(二十一):一文带你了解面向对象编程的所有概念

2023-10-27

你好呀,我是沉默王二,是《Web 全栈开发进阶之路》的作者,CSDN 的博客之星。《教妹学 Java》是一套非常有趣的付费专栏,除了继续保持幽默风趣的行风风格,我还力求把每一个知识点讲得透彻明白,保证你可以从中受益,成为一名优秀的 Java 工程师。本篇来谈一谈“面向对象编程”中的所有概念。

因为是第一次做付费专栏,所以有一定的压力,虽然只需要 9.9 元,但我对自己的要求是至少要达到 199 元的标准,这样才能对得起所有喜欢我的读者。我非常希望你能够跟我分享你的感受和体验,如果你恰好也有这种想法的话,就请加我的微信(qing_geee)告诉我吧。另外,我还组建了一些高质量的技术交流群,邀请了很多大咖,有腾讯的、美团的、PDD 的,需要的话我拉你。

“二哥,今天我们要学习的内容是‘面向对象编程中的所有概念’,对吧?”

“是的,三妹。面向对象编程,由三个单词而来——Object-Oriented Programming,这方面的语言有很多,比如说 C#、Python、PHP,以及 Java。其中有几个概念非常重要,比如说对象、类、抽象、继承和多态,搞懂它们会让编程变得更容易理解。 ”

01、对象

万物皆对象,桌子、凳子、大熊猫、孙悟空,既可以是物理存在的,也可以是逻辑想象的。只要它们具有状态和行为。大熊猫是一个对象,他会吃竹子会睡觉(行为),颜色是黑白相间的(状态)。

对象是一个类的实例化,它在计算机中有自己的地址,并且会占用一部分的内存。

02、类

类定义了一个对象的模型,成员变量定义了对象的属性,比如说大熊猫的颜色;方法定义了对象的行为,比如说大熊猫爱吃竹子。

03、继承

子类可以从父类继承一些属性和行为,提高了代码的可重用性。你比如说,我们定义一个人的类,它有年纪、姓名,会吃饭和睡觉,然后我们就可以定义一个女性类,和男性类,继承自人这个类。

04、多态

多态是同一个行为具有多个不同表现形式或形态的能力。

比如说,人都要上厕所,公共场所的时候,男性上男厕,女性上女厕。

05、抽象

把内部细节隐藏起来,但提供了可访问的功能,可以称之为抽象。

06、封装

你吃一粒药丸,但药丸的具体成分并不需要知道,这里药丸就可以算作是封装的一种体现。

面向对象编程的优势

01) OOP 更加能够应对大规模复杂的程序开发,面向对象编程是以类为思考的对象,首先要思考的是业务建模,将复杂的需求翻译为类,如何给类和类之间建立关系,完成这些工作时不需要考虑复杂的处理流程。

02)OOP 风格的代码更容易复用、扩展和维护,这主要得益于封装、抽象、继承、多态的存在。

03)OOP 更加人性化、高级和智能,可以使用人类的思维来和机器打交道,而是机器的思维。

鸣谢

好了,我亲爱的读者朋友,以上就是《教妹学Java》第二十一篇文章的全部内容了,是不是轻松又活泼,学技术再也不枯燥了,对吧?购买专栏的同学都是冲着二哥名声来的,我只能说你很有眼光。

教妹学Java(二十):一文带你彻底了解 Java 中的注释

教妹学Java(十九):continue 关键字详解

教妹学Java(十八):break 关键字详解

教妹学Java(十七):do-while 循环

教妹学Java(十六):while 循环详解

教妹学Java(十五):for循环详解

教妹学Java(十四):switch 语句详解

教妹学Java(十三):if-else 语句详解

教妹学Java(十二):Java关键字大全

教妹学Java(十一):操作符简介

教妹学Java(十):Unicode字符集简介

教妹学Java(九):Java中的数据类型

教妹学Java(八):初识Java变量

教妹学Java(七):究竟什么是JVM?

教妹学Java(六):JDK,JRE和JVM之间有什么区别?

教妹学Java(五):Java程序在编译和运行时发生了什么

教妹学Java(四):Hello World

教妹学Java(三):Java特性

教妹学Java(二):Java的历史

教妹学Java(一):什么是Java?

PS:本篇文章中的示例代码已经同步到码云,传送门~

PSS:教程的思维导图已同步到 ProcessOn,传送门~

别瞅了,点赞就对了,你最美你最帅。需要加群进行技术交流的话,就加我的微信(qing_geee)告诉我吧,我会不定期在群里分享学习资源、福利等等,早就是优势,感兴趣的就快来吧!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

教妹学Java(二十一):一文带你了解面向对象编程的所有概念 的相关文章

随机推荐

  • ubuntu20.04安装libraw,并测试libraw

    1 下载安装包并解压到目录 https www libraw org download 2 编译安装 autoreconf install cd LibRaw X YY configure with optional args make s
  • 稳压二极管1N4733A使用方法

    一 工作原理 1 1定义 稳压二极管 英文名称Zener diode 又叫齐纳二极管 利用PN结反向击穿状态 其电流可在很大范围内变化而电压基本不变的现象 制成的起稳压作用的二极管 1 2原理 稳压二极管工作在反向击穿区 当管子两端所加的反
  • [Python语言程序设计-第11期] 测验1: Python基本语法元素 (第1周)

    1 Guido van Rossum正式对外发布Python版本的年份是 1991年 2 以下关于Python语言中 缩进 说法正确的是 缩进在程序中长度统一且强制使用 3 以下不属于IPO模型的是 Program 4 字符串是一个字符序列
  • Cadence virtuoso error

    No convergence achieved with the minimum time step specified Last acceptable solution computed at 1 48938 ps The values
  • halcon计算仿射矩阵的函数参数中的x和y

    最近opencv和halcon混用 Row Column x y显然已经快乱套了 正常来说 x对应Column y对应Row 是符合自然规律的 但在halcon计算仿射矩阵的函数中参数含义是如下的 hom mat2d translate T
  • pycharm不能识别zsh环境变量

    pycharm不能识别mac zsh环境变量 原因 在macOS上 一个由GUI启动器 Finder Dock Spotlight等 启动的应用程序会继承一个相对空的环境 没有明智的方法来改变它 这种情况引起了抱怨 当从IDE启动时 在终端
  • 联通5g接入点设置参数_手机网速慢可以这样设置,网速瞬间飙升,还不知道真是可惜了...

    不管是在家或者出门 相信大家都会遇倒网速突然变慢的问题 可能有些小伙伴会以为是5G出来了 所以4G给限速了 其实不是的 在过去一年 4G用户就提升了近一倍 但是基站并没有提升这么多呀 就像是一个WiFi你一个人用跟一大家子人用一样 总会慢下
  • 接收IOS所谓的二进制流图片问题

    最近在对接APP方面的图片上传问题 在沟通的过程中 产生了一系列的误会 在IOS方面用了form data的方式进行图片的提交 指定了传入的参数名 图片名称 图片格式等等 对于后台来说其实就是处理接收并处理文件 还是和处理h5文件一样 在s
  • VS2013编译64位OpenSSL

    安装ActivePerl 这个没什么好说的 直接运行msi即可 编译OpenSSL 1 使用Visual Studio Tool中的 VS2013 x64 本机工具命令提示 来打开控制台 也可以打开一个控制台 然后进到 安装路径 Micro
  • 尚硅谷第四课0722班 java-特殊流程控制 -数组元素的默认初始化-数组操作常见问题-Java内存的结构

    特殊流程控制 Braek public class Text1 public static void main String args for int i 0 i lt 10 i if i 3 break System out printl
  • Spring Boot 引入 easyexcel 最新版本 3.3.2,实现读写 Excel

    EasyExcel是一个基于Java的 快速 简洁 解决大文件内存溢出的Excel处理工具 他能让你在不用考虑性能 内存的等因素的情况下 快速完成Excel的读 写等功能 在 Spring Boot 环境中使用 easyexcel 需要完成
  • Collection -> 集合的同步执行

    using System using System Collections using System Collections Specialized namespace 集合和同步
  • 2023华为OD机试真题Java实现【密室逃生游戏】

    题目描述 小强正在参加 密室逃生 游戏 当前关卡要求找到符合给定密码K 升序的不重复小写字母组成 的箱子 并给出箱子编号 箱子编号为1 N 每个箱子中都有一个字符串s 字符串由大写字母 小写字母 数字 标点符号 空格组成 需要在这些字符串中
  • 计算机网络的类别

    1 英特威 互联网 internet是同一个概念 在平时使用中有不同的说法 网络不等于internet 2 不管网络怎么分类 最后都要连接到internet 3 网络的分类 一般来说是按照网络的覆盖范围或作用范围来进行划分的 1 第一种类型
  • 【Python爬虫】requests+Beautifulsoup存入数据库

    本次记录使用requests Beautiful pymysql的方法将大学排名的数据存入本地MySQL数据库 这是一篇学习性文章 希望能够分享在学习过程中遇到的坑与学到的新技术 试图用最简单的话来阐述我所记录的Python爬虫笔记 一 爬
  • 操作系统第九讲——线程的实现方式和多线程模型

    用户级线程 1 用户级线程由应用程序通过线程库实现 所有的线程管理工作都由应用程序负责 包括线程切换 2 用户级线程中 线程切换可以在用户态下即可完成 无需操作系统干预 3 在用户看来 是有多个线程 但是在操作系统内核看来 并意识不到线程的
  • Spring Cloud Alibaba微服务第25章之Jenkins

    目录 一 前言 1 领头羊 2 特点 二 Docker安装Jenkins 1 docker search jenkins查询镜像
  • Whitted-Style 光线追踪

    Whitted Style 光线追踪 生成相机光线 定义光线 每条光线相当于一条射线 具有两个固定属性 起点o以及方向d 此外参数t表示光线的长度 本节中所学习的光线类型为摄影机光线或主光线 对图像中的每一个像素 我们需要构造一条相机射线
  • Eggjs笔记:关系型数据库表之间的关系

    关系数据库中表与表的 3 种关系 1 一对一的关系 一个人对应一个唯一的身份证号 一个人对应一个唯一的驾驶证 一篇文章对应一个文章详情 如上图 一篇文章对应一个文章详情 本来可以是一张表 拆分成2张表 文章表用于存储一些通用的字段信息 文章
  • 教妹学Java(二十一):一文带你了解面向对象编程的所有概念

    你好呀 我是沉默王二 是 Web 全栈开发进阶之路 的作者 CSDN 的博客之星 教妹学 Java 是一套非常有趣的付费专栏 除了继续保持幽默风趣的行风风格 我还力求把每一个知识点讲得透彻明白 保证你可以从中受益 成为一名优秀的 Java