刚毕业的学生在面试的时候,面试官经常会问一个问题:谈谈你对面向对象的理解,虽然学了很长时间编程,但是学生的回答往往还是不尽人意,80%的学生回答都是:面向对象是一种编程思想,它有三大特性,封装、继承、多态、然后....然后就没有然后了,往往都是一句话就把这个问题回答了,面试场相对比较尴尬.....也有可能因为这个回答被面试官Pass掉.......
那我们可以分析一下,为什么这样回答,给面试官的感觉不是很好........
原因一:回答问题没有任何铺垫,给人感觉理解不是很深入,实属不妥,况且像OOP这种编程思想。
原因二:回答问题没有深入和拓展。
继续中.....
首先,面向对象编程是现在的一种主流编程思想(不可否定),逐渐取代面向过程编程,随着互联网的高速发展,程序已经影响着我们生活中的方方面面,因此面向对象编程思想渐渐奠定它在编程中思想的地位;
它最主要的体现就是在于它的三大特性:封装、继承、多态和一个核心:抽象 [类的概念] 、那我们现在就对其两点展开剖析:
三大特性的作用:
封装:1、隐藏代码的实现细节,提高代码的安全性 2、完善对象(方法和属性);
继承:1、减少代码的冗余; 2、提高开发效率;
多态:1、作为设计模式的基础(23种设计模式大部分用到多态)
多态存在的三个条件:A-有继承关系 ;B-子类重写父类方法;C-父类引用指向子类对象