说一下你对多态的理解?_一句话概述面向对象思想,彻底理解面向对象编程

面向对象是把一组数据结构和处理他们的方法组成对象,把具有相同行为的对象归纳成,通过封装隐藏类的内部细节,通过继承使类得到泛化,通过多态实现基于对象类型的动态分派。

之前在面试Java的时候遇到关于面向对象的问题,好久没复习,概念都忘了,当时没能回答完整。今天整理了一下,彻底搞懂了什么叫面向对象,下面用通俗的话详细讲解面向对象的相关概念。

注意这里提到的几个关键词:数据、方法、对象、类、封装、继承、多态

1.数据

首先说数据,什么是数据?数据是信息的表现形式和载体,它英文名称叫Data。

0ad6b4eaca983e12deb8a3e5a61549c8.png

数据

在百度百科上的基础解析:数据是事实或观察的结果,是对客观事物的逻辑归纳,用于表示客观事物的未经加工的原始素材。

举个栗子。我们日常中用到的数字0,1,2,3,4,5、表示天气的摄氏度,

71a57db4d40221c3f15604be92821792.png

天气

学生的档案记录、

51f8c25b91085a11395ccbdb8e3c07e7.png

档案

货物运输情况

b8ffc53e10889a24bf8e97e2c9387512.png

货物

这些都是数据,数据经过加工后就变成了信息。在计算机中,数据以二进制信息单元0,1来表示。

727a65b50481160edf348b2ab89b19dc.png

二进制数据

2.方法

方法的基本解析是为达到某种目的而采取的途径,步骤和手段。

在我们的软件编程语言中,如果将函数定义为类定义的一部分或者将它与某个对象绑定,则该函数称为方法。

3.对象

b8b4a82bcc1d750e5d5e32d735a5e482.png

梦寐以求的对象

这个是我们程序员梦寐以求的对象是吧。

对象在百度百科中的基本解析是描写或写实的特定人或物。在计算机语言中表现为客观世界中存在的人、事、物体等实体在计算机逻辑中的映射。

4.

什么是类?类就是分类,在面向对象中类是实现信息封装的基础。

类是一种引用数据类型,也称类类型。每个类包含数据说明和一组操作数据的方法,类的实例就是对象。

举个栗子:

人类就是一个基本的类类型,而我们就是这个类类型的一个具体的对象。

958bf82744b625b1bebff636ba6ba34a.png

人类

人类包含有姓名、性别、年龄等等这些数据说明,同时也有走路、吃饭、工作这些传递能量信息的方法。

5.封装

封装是对一类事物进行抽象描述。封装是个动词,通过将姓名、性别、年龄等这些属性抽象到人类这个类类型的过程就叫封装。这个时候我们一说到人类就能联想到这个人叫什么名字,是男是女,多大年龄等。同时封也装隐藏了一些特殊的属性,比方说:这个人身上有多少钱,我们是不知道的。

c78744e72b61046337917c157dad7bce.png

6.继承

继承简单理解就是儿子继承爸爸,继承可以使得子类具有父类公开的属性和方法,同时拓展了自身的属性和方法。

举个栗子,父子关系,我继承了我父亲的所有公开属性,都具有姓名、年龄、性别这些属性,但是我扩展了写代码这样的一个方法。这个写代码的方法是我独有的,我父亲不具备写代码的功能,这就是承。简单说继承就是在原有的基础上进行了扩展。

7.多态

说到多态就要说一下“接口”这个概念,接口是什么?

接口是一种特殊的类,在这个类中指定必须做什么,但不用规定它如何去做。而多态就是以多种方式告诉这个接口类该如何去做。

举个栗子,我定义一个接口类,这个类中只有一个吃饭的方法,那么我们明白在这个类中就指定了需要做吃饭这件事,而吃什么,怎么吃,在哪里吃,这就可以通过多态来实现。这个时候我们就可以再定义两个类去实现这个这个接口,一个类实现这个吃饭的方法在中餐馆用筷子吃鱼;另一个类实现这个接口就是在西餐厅用刀叉吃牛排。

总结

面向对象是作为Java编程入门的最基础知识,我们在实际开发中可能很多基础概念都忘记了,时不时的还是要把基础捡起来,不断加深巩固。

关注我,及时收到编程相关知识。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值