面向对象编程思想

WBOY
WBOYオリジナル
2016-06-06 20:46:591161ブラウズ

在面试过程中,总会被问及面向对象理解得如何?感觉自己是了解封装继承多态什么的概念的,却不知道该如何作答。所以想问问大家对于面向对象编程思想的理解,在编码中注意到哪些实质了才是真正体现出来面向对象编程的思想(是把所有的东西都写成类的形式吗?),当然也可以直接说说自己被问及这个问题的回答,先谢谢各位解惑

回复内容:

在面试过程中,总会被问及面向对象理解得如何?感觉自己是了解封装继承多态什么的概念的,却不知道该如何作答。所以想问问大家对于面向对象编程思想的理解,在编码中注意到哪些实质了才是真正体现出来面向对象编程的思想(是把所有的东西都写成类的形式吗?),当然也可以直接说说自己被问及这个问题的回答,先谢谢各位解惑

面向对象,我的理解是把数据和操作放在一起,并且他们有自己的生命周期。对于抽象和多态,就是对虚编程,即接口或抽象类。对各种变化进行抽象,对应的变化就是多态。多态有一句经典的话:父类引用指向子类对象。

封装,继承/组合,多态。
封装隐藏实现。
继承重用,避免继承过多层级用组合。
多态可以基于接口实现不同子类的不同行为

太新手了这个问题,不知道怎么回答楼上都是正解,回答上来都应该不会扣分。
我面试别人从来不问这些虚的,很简单的道理,如果您能正确理解面向对象的概念并能实际运用,那么你以面向对象的思维编写程序已经很利害了。但很可惜,对一个新手,他能回答出这些问题吗?若能回答正确,人家也不会来这里了。
楼主教你一个面试小技巧,如果面试的问题有一个你不知道该怎么回答的时候,面试结束前,面试者肯定会问,您有什么问题要问他的,这个时候你就反过来问他,如果换成他是应聘者的话,他会怎么回答这个问题。
面试过别人,也看过面试别人的人,总体来说,你得自己会,不会你就说你会的。

面向对象开发 是一种面向未来, 面向可维护, 可扩展的开发, 对象是实现这种思想的方法

设计上:就是封装,继承,多态,抽象等设计模式。
性能上:稳定性,重用性,可维护性,扩展性。

推荐你看看《java编程思想》 在这里也说不明白!

是把所有的东西都写成类的形式吗?

基于原型的面向对象没有类。

面向对象,最主要是消息传递。

你可以尝试在PHP中不用class和traits,模拟一个面向对象系统,应该会有更好的理解。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。