谈谈你对面向对象思想的理解

如题所述

怎么理解面向对象思想呢?

面向对象

面向对象编程,即OOP,面向对象的概念和应用已经超越了程序设计、软件开发领域,现在已经发展到了各个领域。

面向对象可以说是对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段的产物。

它的特点:抽象 封装 继承 多态

用我的话说,其实可以这么理解,假如我是上帝,我要造 人 (这是对象)。

首先,我要知道人类要有哪些最基本的东西 ?

人要有思想,人还要有肉体

这个过程呢就是(抽象)

因为人的数量很庞大,所以我需要找别人帮我一起造人,但是我不想让他知道我造人的技术(人的脸需要用多少克泥巴,需要怎么用手去捏鼻子等等),我可以把我的造人的技术封装起来,别人只需要知道他要做什么样的人类就好了。【封装】

当我自己造人的时候,我可能造着造着就累了,我可能就要用我之前造出来的某个泥人作为模板“复制”,“粘贴”了

用模板创出来的泥人具有模板的特征,就像孩子一样具有父母的性状。我们称这个过程为【继承】

但是呢 好多泥人都是我后来偷懒用模板复制出来的,为了让人类更丰富多彩一些,我对他们又进行了改变。这个过程可以叫【多态】

接下来我举个栗子来区分面向过程和面向对象

例子:是如何将大象装进冰箱

为了解决这个问题,我们采用两种方案,一种是面向过程方案,另一种是面向对象方案

面向过程:

总共分三个过程,第一个过程:冰箱门打开(关着门的冰箱) 返回值是打开门的冰箱

第二个过程:大象装进去(打开门的冰箱) 返回值是打开着门,装着大象的冰箱

第三个过程:冰箱门关上(打开着门,装着大象的冰箱) 返回值关着门的装着大象的冰箱

面向对象:

总共分三个动作,(每个动作都有一个对象去执行)

第一个动作:冰箱.开门()

第二个动作:冰箱.装进(大象)

第三个动作:冰箱.关门()

或者是链式调用冰箱.开门().装进(大象).关门()

以上就是我对面向对象理解的全部内容,希望对各位同学有所帮助!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-09-21
在我理解,面向对象是向现实世界模型的自然延伸,这是一种“万物皆对象”的编程思想。在现实生活中的任何物体都可以归为一类事物,而每一个个体都是一类事物的实例。面向对象的编程是以对象为中心,以消息为驱动,所以程序=对象+消息。

面向对象有三大特性,封装、继承和多态。

封装就是将一类事物的属性和行为抽象成一个类,使其属性私有化,行为公开化,提高了数据的隐秘性的同时,使代码模块化。这样做使得代码的复用性更高。

继承则是进一步将一类事物共有的属性和行为抽象成一个父类,而每一个子类是一个特殊的父类--有父类的行为和属性,也有自己特有的行为和属性。这样做扩展了已存在的代码块,进一步提高了代码的复用性。

如果说封装和继承是为了使代码重用,那么多态则是为了实现接口重用。多态的一大作用就是为了解耦--为了解除父子类继承的耦合度。如果说继承中父子类的关系式IS-A的关系,那么接口和实现类之之间的关系式HAS-A。简单来说,多态就是允许父类引用(或接口)指向子类(或实现类)对象。很多的设计模式都是基于面向对象的多态性设计的。

总结一下,如果说封装和继承是面向对象的基础,那么多态则是面向对象最精髓的理论。掌握多态必先了解接口,只有充分理解接口才能更好的应用多态。
相似回答