面试官:知道面向对象吧。
小白:嗯,知道,面想对象就是封装继承多态呀。
面试官:回答了一部分,还能谈谈除了封装、继承、多态之外的吗,比如说怎么抽象,抽象的思想是什么?
小白:啊,面向对象还有这么多东西呀。
今天的面试宝典给大家谈谈什么是面向对象,这个问题在大公司都会问一下,因为面向对象分析问题是一个程序员的基本素养,它就相当于编写程序的指导思想,你的程序质量高低,代码实现的难易都与面向对象有关。
计 算机的运行是一个世界,人类的生活又是一个世界,程序员用计算机解决人类实际需求的过程就是建立起这两个世界的某种联系或映射的过程,这个过程也就是抽象 的过程,把人类的认知世界抽象为计算机的认知世界,这个过程很难,也有很多方法,不同的程序员就会用不同的方法,就像有一千条路去某个地方,总会有比较合 适的几条路可走。编程思想中有一句话:人们所能有解决的问题的复杂性取决于抽象的类型和质量。所以计算机编程又是一种艺术,一种抽象的艺术。
关于面向对象一般网上都是在说继承、封装、多态等名词,我觉得对于初学者来讲都太抽象,太难以理解,我觉得编程思想中的几段话讲的很好,很利于初学者来理解面向对象的概念。下面就给大家来说说:
一个外国人(Booch)还对对象提出了更加简洁的描述:对象具有状态,行为和标识。也就是说每个对象都可以拥有内部数据(它们来描述该对象的状态)和方法(它们的行为)。
最后附上一张网上有趣的图,应该能够帮你理解面向对象个各种知识。