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