素材牛VIP会员
如何优雅的回答“什么是面向对象”?
 Co***ht  分类:Python  人气:1896  回帖:19  发布于6年前 收藏

发现很多面试官都喜欢问这个问题(我是学生),然而每次觉得自己在这个问题上都答得不尽人意。
我的回答往往是

  • 它的设计上的特点是:继承、封装、多态;

  • 从具象到抽象。属性变成变量,行为变成方法;

然而面试官似乎不是很满意,不知各路大神有没有相对优雅的回答?

讨论这个帖子(19)垃圾回帖将一律封号处理……

Lv5 码农
夏***t 移动开发工程师 6年前#1

object-oriented

Lv1 新人
in***ex 职业无 6年前#2

嗯 一切皆对象

Lv6 码匠
zh***ni 职业无 6年前#3

js说:万物皆对象,对象也是对象--没毛病

Lv2 入门
th***as 职业无 6年前#4

实现项目时,需要将业务抽象成代码,这个抽象过程就是编程范式,面向对象就是其中一种。类似的还有面向过程,函数式编程。

面向对象的特点是继承, 多态, 封装

然后面试官就可以开始问继承, 多态, 封装了。

完美!~~~

最好知道下什么是面向过程,函数式编程,那就更好了。

Lv6 码匠
捂***功 移动开发工程师 6年前#5

这真的是个有趣的问题,哈哈。当然每个人都会有不同的理解,毕竟面向对象这个概念也是炒作起来的。

我的理解包括两个方面:

  • 一个是面向对象设计;

  • 一个是面向对象编程。

面向对象设计的核心思想是模块化,而面向对象编程的核心思想是面向接口,面向对象编程还有一个亲戚叫基于对象编程或者叫原型编程(JavaScript就是)。所以说面向对象编程一般是需要语言级别支持的,就像你上面说的封装、继承和多态什么的。

面向对象概念比较火的时候,人们常说软件复用,继承是软件复用的直接体现。但是后来人们发现,应该更多的使用组合而不是继承,接着面向接口编程就火了。

扯得有点远了,到此打住吧。

Lv5 码农
转***鬼 职业无 6年前#6

面向对象的根源在于大家理解日常认识,就是谁做了什么事情,或者让谁做什么事情
程序也按这个模式写代码,就是面向对象了

Lv1 新人
in***ex 职业无 6年前#7

少逛知乎,多写代码

Lv6 码匠
lo***ou 职业无 6年前#8

万物皆对象。

Lv1 新人
陌***人 PHP开发工程师 6年前#9

一定用例子来
比如 动物-》furu动物-》 人, 狮子, 老虎

加上多态,比如都会叫

继承,比如furu动物都是胎生的,等等

Lv5 码农
夏***t 移动开发工程师 6年前#10

面向你的对象(俗称男/女朋友),摆出一个优雅的姿势,然后深情地告诉他/她,看着我……这就是优雅地面向对象

上一页12下一页
 文明上网,理性发言!   😉 阿里云幸运券,戳我领取