为什么没有抽象,就没有封装、继承、多态?

为什么说抽象是面向对象的基础呢,首先,我们先来说说什么是抽象,抽象就是把这些东西的共同点拿出来,比如说,长的高的,头发是自来卷,眼球是蓝色的一个小男孩,和一个长的矮的,头发是直的,眼球是黄色的一个小女孩,他们抽象出来是什么东西呢,是人,再有男人,女人,他们的共同点是什么呢,他们统称为人,或者说,抽象就是我们把几个东西放在一起,称这个东西为一个东西,比如:洗衣机,洗衣机有全自动洗衣机,半自动洗衣机,甚至你自己手洗也可以成为洗衣机,另一个层面上理解就是洗衣机包括,定时功能,甩干功能,轻柔功能等功能,还包括了洗衣机的盖子,转桶,排水管,把这一堆东西抽象出来的产物就是洗衣机,所以我们说,抽象是把具体的功能和行为属性抽象出来看成一个东西,看成这个1。

接下来我们来说一下什么是封装,封装是隐藏对象的属性和实现细节,封装的产物也就是类,比如我们现在有一个洗衣机类,它包含的属性就是盖子,转桶,排水管等,它包含的行为方法就是定时、甩干、轻柔等,隐藏了内部的实现细节,我们使用洗衣机不需要去知道这个洗衣机为什么点甩干它就是甩干,点排水功能,它就排水了,只需要知道它有这个功能就可以了。

那么继承呢?继承是子类继承父类,子类将拥有父类的所有属性,比如说:你就是子类,你爸爸就是父类,你继承了你爸爸,相当于就是你拥有了你爸爸所拥有的所有财产,当然你处了拥有你爸爸的所有财产之外,你还可以拥有你自己的财产,再比如就是你爸爸有一个开轿车这个方法,你可以重写你爸爸的这个方法,达到自己特有的一个方法功能。

最后我们再来说一下多态,多态表示一个对象可以表示出多种状态,即对象的状态是可以在子类和父类之间相互转换,有了抽象之后,就有了我们的封装,有了封装之后就有了我们的继承,有了继承之后,子类可以重载父类或重写父类的方法,就有了我们熟知的多态,比如说带脚蹬子的电动车,本质上他是自行车,自行车用两个脚蹬,电动车也可以用脚蹬,这就是电动车向父类靠拢,电动车使用电驱动行驶就是向子类靠拢。

你可能感兴趣的:(总结,面向对象)