重识面向对象

1、面向对象的三大特征是什么?面向对象的基础是什么?

三大特征:封装、继承、多态;

基础:抽象。

2、为什么说面向对象的基础是抽象?对抽象做详细解释。

抽象是隐藏了属性、方法的具体实现方式,让调用者只需要关心方法提供了哪些功能。抽象类是一个有共性的基类,这个基类集成了一系列需要的用到的基本操作方法,这些操作方法都是和业务分开的,不同的子类继承这个抽象类后,在需要实现各自不同业务的时候,都需要通过抽象方法来定义,接着后面进行各自的实现。

对象的封装是将通过抽象所得到的数据信息和操作进行结合,使其形成一个有机的整体,对内执行操作,对外则隐藏细节和数据信息。

继承和抽象的理解则为:只有抽象出了父类,子类才能继承,不然继承谁呢?简单点来说就是要使用抽象类的话只能通过继承。

多态是抽象化的一种体现,把一系列具体事物的共同点抽象出来, 再通过这个抽象的事物, 与不同的具体事物进行对话。

3、如何理解下面这俩句话?这与面向对象的抽象有什么关系?

(1)、我们要注重多少人来干事,而不是干多少事。

(2)、我们要注重谁来干事,而不是怎么干事。

我们要注重多少人来干事,而不是干多少事。(关注的是干事的人,而不是干多少事)

我们要注重谁来干事,而不是怎么干事。(关注的是谁,而不是怎么干事)

其关注的都应该是“人”和“谁”这个对象,进而抽象出对应的类,再接着去实现对应的方法,而不应该是后面的过程

以谁去打水给谁喝为例子,我们应该关注这几个对象:打水的人、受水的人、打水场地、打水工具、水这些对象。

进而一步进行抽象,抽象出参与人员、场地、工具、资源等这些类。

在整个抽象过程中,我们始终应该关注的是对象、而不是过程。

4、总结

进而联想一下我们平时写代码,基本上都是以面向过程的形式去写代码来进行功能的实现,没有做到面向对象,短期还发现不了什么,到了后期会发现代码的可维护、可扩展、可复用会特别的差,特别的困难,所以我们的开发思想需得到转变,不能为了完成代码而敲代码。


版权声明:本文为weixin_44684272原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。