在面试过程中,总会被问及面向对象理解得如何?感觉自己是了解封装继承多态什么的概念的,却不知道该如何作答。所以想问问大家对于面向对象编程思想的理解,在编码中注意到哪些实质了才是真正体现出来面向对象编程的思想(是把所有的东西都写成类的形式吗?),当然也可以直接说说自己被问及这个问题的回答,先谢谢各位解惑
怪我咯2017-04-10 14:43:44
面向对象,我的理解是把数据和操作放在一起,并且他们有自己的生命周期。对于抽象和多态,就是对虚编程,即接口或抽象类。对各种变化进行抽象,对应的变化就是多态。多态有一句经典的话:父类引用指向子类对象。
怪我咯2017-04-10 14:43:44
太新手了这个问题,不知道怎么回答楼上都是正解,回答上来都应该不会扣分。
我面试别人从来不问这些虚的,很简单的道理,如果您能正确理解面向对象的概念并能实际运用,那么你以面向对象的思维编写程序已经很利害了。但很可惜,对一个新手,他能回答出这些问题吗?若能回答正确,人家也不会来这里了。
楼主教你一个面试小技巧,如果面试的问题有一个你不知道该怎么回答的时候,面试结束前,面试者肯定会问,您有什么问题要问他的,这个时候你就反过来问他,如果换成他是应聘者的话,他会怎么回答这个问题。
面试过别人,也看过面试别人的人,总体来说,你得自己会,不会你就说你会的。
伊谢尔伦2017-04-10 14:43:44
设计上:就是封装,继承,多态,抽象等设计模式。
性能上:稳定性,重用性,可维护性,扩展性。
推荐你看看《java编程思想》 在这里也说不明白!
ringa_lee2017-04-10 14:43:44
是把所有的东西都写成类的形式吗?
基于原型的面向对象没有类。
面向对象,最主要是消息传递。
你可以尝试在PHP中不用class和traits,模拟一个面向对象系统,应该会有更好的理解。