【大白话面试】抽象、继承、封装、面试

本文介绍了面向对象编程中的四个核心概念:抽象、继承、封装和多态。抽象关注忽略不相关细节以关注关键特征;继承允许类的重用和层次结构的建立;封装是保护数据并提供公共接口;多态则允许不同类对同一消息作出响应,增强代码灵活性。以英雄联盟为例,阐述了如何通过这些概念理解游戏中的英雄类设计。
摘要由CSDN通过智能技术生成

抽象、继承、封装、面试的理解

可以跳过


1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。

2.继承:
 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

3.封装:
 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
 
4. 多态性:
 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。


我个人觉得这4个词,很多的视频教学用,用的最多的大部分都是人,动物,造汽车,英雄联盟建英雄。

大家可以挑一个自己感兴趣并且自己好理解的方式作为一个例子去理解,

我这边就用英雄联盟举个例子

抽象

比如每个英雄都有血量,有名字,有攻击力,有防御力,有普通攻击方法,有技能,有装备。
这些大家都共有的属性和方法都可以抽取出来的这个动作或叫过程,称之为抽象。

继承

继承就是抽象的下面一步了,当抽象出来一个基础的英雄的类后,我们可以继续分类,比如有物理英雄和魔法英雄

物理英雄最基础的需要的就是英雄的一些基础参数和方法,那么直接用extends关键字就好了。
这样就不用再创建物理英雄的时候,再去写血量,名字等属性了。直接用父类的就OK。

封装

就是属性private私有化,提供公有的方法get,set访问私有属性
为什么要封装,其本身的原因也是因为使用的地方太过频繁,比如某个属性和方法需要一直调用切基本都差不多,那么就单独将某些属性和方法封装起来,提供出来一个类方便调用

多态

Java 实现多态有 3 个必要条件:继承、重写和向上转型。
继承:物理英雄需要继承英雄
重写:物理英雄对普通攻击的方法进行重写,变成物理攻击
向上转型:物理英雄既能使用普通攻击,也能使用物理攻击

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

顾垌杰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值