1. Abstraction
2. Encapsulation
3. Inheritance
4. Polymorphism
Run Code Online (Sandbox Code Playgroud)
如何最好地解释这些概念,例如,在采访中?
Waq*_*med 12
1.抽象
向用户显示他需要的必要的东西,而不是额外的信息(使用公共私人,受保护).当我们需要继承某个类但不实例化该类的对象时,就完成了抽象.
2.封装
将所有相关事物汇总在一起 即封装是在单个单元中包装/绑定数据和成员函数.简单来说,抽象是隐藏实现,封装是隐藏数据.
3.继承
如果已存在某些东西,我为什么要重新创建它(与重新发明轮子相同).使用继承将该类的所有内容继承到您的类中.继承使您可以创建重用,扩展和修改其他类中定义的行为的新类
4.多态性
当物体在不同情况下表现出不同的行为时.以简单的方式,当消息可以以不同的方式/形式处理时.
在与非技术人员交谈时,我使用类比.
抽象化
这就像编写Lion,Pinguin和Salmon的共享行为一样.所有这些都是不同的,但它们有一些共同特征:它们都是吃,呼吸,死亡等等.这就是为什么抽象很重要,因为它允许我作为开发人员编写类似"动物"对象的东西,它定义了它们的共同行为.
封装
想象一下拥有多个部门的大公司.
每个部门都为人们提供服务,例如"客户服务电话":公共方法.
然后,各部门相互交互,请求信息,委派任务:受保护的方法.
最后,在每个部门内部管理一些职责,例如,向员工支付:私人方法.
因此,封装将根据谁可以请求它们将一些服务设置为公共,受保护和私有.
遗产
记得那些狮子,pinguins和鲑鱼?还记得他们都是动物吗?那么,继承将是,例如,如果动物出生时,他们的"出生日期"被定义为"今天".这种行为将由所有动物类型共享,因此,狮子pinguins和鲑鱼将继承"天生的行为".
多态性
这个与继承非常相似,是技术差异的主要区别,因此我甚至不会尝试向非技术人员解释它.