V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zxc1234
V2EX  ›  职场话题

面试问:面向对象是什么

  •  1
     
  •   zxc1234 · 2019-06-04 19:45:52 +08:00 · 7386 次点击
    这是一个创建于 1998 天前的主题,其中的信息可能已经有所发展或是发生改变。

    感觉这问题很抽象,请教各位 v 友们,怎么回答比较好,显得自己懂

    46 条回复    2019-06-09 23:53:28 +08:00
    anyele
        1
    anyele  
       2019-06-04 19:50:50 +08:00 via Android
    说实话不抽象,你百度下就能回答
    echisan
        2
    echisan  
       2019-06-04 20:05:48 +08:00 via iPhone
    我只能说出那六个大字
    8a9a09dw12
        3
    8a9a09dw12  
       2019-06-04 20:18:14 +08:00   ❤️ 5
    继承
    封装
    多态
    huiyifyj
        4
    huiyifyj  
       2019-06-04 20:18:51 +08:00 via Android   ❤️ 1
    不自觉地想回答🙃封装,继承,多态🤣
    ardenchan
        5
    ardenchan  
       2019-06-04 20:25:06 +08:00
    我想说:你就是对象
    gimp
        6
    gimp  
       2019-06-04 20:26:39 +08:00
    你面对我,我面对你
    Tomotoes
        7
    Tomotoes  
       2019-06-04 20:27:13 +08:00 via Android   ❤️ 1
    对面向过程的一种抽象,把数据都捆绑在一起,oop 其实设计的有问题,函数第一成员思想没有体现。
    acheng93
        8
    acheng93  
       2019-06-04 20:27:49 +08:00 via Android
    万物皆对象
    JmmBite
        9
    JmmBite  
       2019-06-04 20:28:02 +08:00
    你是我的什么?
    你是我面向的对象啊。
    jingyulong
        10
    jingyulong  
       2019-06-04 20:36:05 +08:00 via iPhone
    很宽范的一个问题,能给你自由发挥的空间,什么都能说。。。《面向对象分析与设计》,看完你就懂了
    russian
        11
    russian  
       2019-06-04 20:45:21 +08:00
    @Tomotoes 函数本身也是对象吧,一个对象的特例
    zerozerone
        12
    zerozerone  
       2019-06-04 21:23:52 +08:00 via Android
    对问题的建模方式
    monetto
        13
    monetto  
       2019-06-04 21:28:11 +08:00 via iPhone
    答:我一般面向显示器编程。
    QNLvw5fLfr7c
        14
    QNLvw5fLfr7c  
       2019-06-04 21:28:53 +08:00
    一种看待事物的方式
    setSweetChild
        15
    setSweetChild  
       2019-06-04 21:32:56 +08:00 via Android
    @russian 个人感觉在高级语言中函数是对象的成员方法,在脚本语言中函数是特殊的对象
    ksedz
        16
    ksedz  
       2019-06-04 21:41:59 +08:00
    我会回答:发展自闭包,封装了变量和操作变量的方法
    dasinigetudou
        17
    dasinigetudou  
       2019-06-04 22:48:29 +08:00
    对于一个软件架构师而言,面向对象编程就是以多态为手段来对源代码中的依赖关系进行控制的能力,这种能力能让软件架构师可以构建出某种插件式的架构,让高层策略性组件与底层实现性组件相分离,底层组件可以编译成插件,实现独立于高层组建的开发和部署。。引自《架构整洁之道》
    jimrok
        18
    jimrok  
       2019-06-04 23:07:28 +08:00   ❤️ 6
    通过模拟现实世界实体关系构建抽象的软件开发
    loginbygoogle
        19
    loginbygoogle  
       2019-06-04 23:15:19 +08:00 via Android
    抽象
    SoVince
        20
    SoVince  
       2019-06-04 23:16:51 +08:00 via Android
    我编程的时候一般不和对象聊天
    WhoCanBeRich
        21
    WhoCanBeRich  
       2019-06-04 23:19:50 +08:00
    封装、继承、多态
    fghjghf
        22
    fghjghf  
       2019-06-05 00:11:55 +08:00
    说我不知道,我一般是面向工资编程的。
    SuperMild
        23
    SuperMild  
       2019-06-05 01:20:05 +08:00
    觉得难回答,是受到“标准答案”思想的毒害了吧,企图给出一个正确答案。这是国内应试教育的一个大问题老问题了。这些问题就谈谈自己的理解好了,甚至以 “面向女朋友编程” 这样的玩笑开场活跃一下气氛都可以(当然,要赶紧回到正题),可以谈面向对象的历史、争论(究竟必须包含哪些要素)、优点、缺点等等逐渐展开话题。
    wellsc
        24
    wellsc  
       2019-06-05 01:26:44 +08:00
    Anything is actor .
    By the way R.I.P Joe Armstrong.
    zgl263885
        25
    zgl263885  
       2019-06-05 07:43:52 +08:00 via iPhone
    讲一下和面相过程的区别与联系,优点与缺点。
    说实话,封装,继承,多态,虽然只有 6 个字,但是很多写代码写到转行都没有理解,面试官这么问你,肯定不是仅仅想听你说出这三个词,而是想看看你是否真的理解面向对象的思想,考察的是遇见问题时候如何面相对象分析问题,抽丝剥茧,把业务理清,建立模型及接口,最终把复杂问题条理清晰的分解为一个个较为简单的且有意义模块,再用一行行的代码实现这些模型,解决问题。
    ChefIsAwesome
        26
    ChefIsAwesome  
       2019-06-05 07:52:50 +08:00
    面向对象编程是什么?函数式编程是什么?响应式编程是什么?
    别人问个笼统的问题,你也非要给个笼统的回答,让对方自己参透,这不是毛病么。
    fhsan
        27
    fhsan  
       2019-06-05 08:09:55 +08:00
    继承,多态,封装,抽象,结合一些框架和业务逻辑。
    dilu
        28
    dilu  
       2019-06-05 08:52:59 +08:00
    很简单 你写代码的时候永远都跟对象和类打交道
    kaiser1992
        29
    kaiser1992  
       2019-06-05 10:22:07 +08:00
    坐等大佬
    SabaPing
        30
    SabaPing  
       2019-06-05 10:23:14 +08:00   ❤️ 1
    In principle, the motivation for object-oriented programming is very sim- ple: all but the most trivial programs need some sort of structure. The most straightforward way to do this is to put data and operations into some form of containers. The great idea of object-oriented programming is to make these containers fully general, so that they can contain operations as well as data, and that they are themselves values that can be stored in other containers, or passed as parameters to operations. Such containers are called objects. Alan Kay, the inventor of Smalltalk, remarked that in this way the simplest object has the same construction principle as a full computer: it combines data with operations under a formalized interface. So objects have a lot to do with language scalability: the same techniques apply to the construction of small as well as large programs.

    Scala 作者 Martin Odersky 的原话
    mrzhang76
        31
    mrzhang76  
       2019-06-05 10:45:32 +08:00
    一个东西看起来是苹果,摸起来是苹果,闻起来是苹果,吃起来是苹果,那它就是苹果。把一个苹果的属性(颜色,味道,形状,成分。。。),使用方法(榨汁,直接吃。。),放入计算机。现在我们拥有了一个苹果对象
    (个人理解,可能不对)
    linxl
        32
    linxl  
       2019-06-05 10:47:06 +08:00
    三大特性啊
    jokeqf
        33
    jokeqf  
       2019-06-05 10:55:21 +08:00
    有没有面试官出来讲讲,问这种问题时想要得到的回答是怎样的。
    huahuajun9527
        34
    huahuajun9527  
       2019-06-05 11:16:32 +08:00
    你就是我的对象 [滑稽]
    linvaux
        35
    linvaux  
       2019-06-05 11:22:31 +08:00 via Android
    一切皆对象
    Takamine
        36
    Takamine  
       2019-06-05 12:25:16 +08:00 via Android
    就是去动物园看两头大象吧:doge:。
    神马封装继承多态,五大原则,都是把问题想复杂了。
    oneisall8955
        37
    oneisall8955  
       2019-06-05 12:39:05 +08:00 via Android
    封装继承多态
    KuroNekoFan
        38
    KuroNekoFan  
       2019-06-05 13:28:53 +08:00 via iPhone
    过气方法论
    madmen
        39
    madmen  
       2019-06-05 14:43:42 +08:00
    对不起,打扰了,再见
    zaul
        40
    zaul  
       2019-06-05 17:31:26 +08:00
    我面向老板编程
    tt67wq
        41
    tt67wq  
       2019-06-06 08:54:13 +08:00
    老夫是搞函数式的
    lurenw
        42
    lurenw  
       2019-06-06 10:10:31 +08:00
    objects are poor man's closures
    sepld
        43
    sepld  
       2019-06-06 23:02:17 +08:00
    不知道, 我没有经过 过程式编程, 不知道什么是对象式编程的.
    zxc1234
        44
    zxc1234  
    OP
       2019-06-07 12:41:05 +08:00
    @tt67wq 函数式 和 面向对象区别是?
    shadowtale
        45
    shadowtale  
       2019-06-09 10:00:59 +08:00 via Android
    我想说的也是你就是对象,万事万物皆对象
    v2eb
        46
    v2eb  
       2019-06-09 23:53:28 +08:00
    没有对象[滑稽],确实有点抽象了,万物皆对象???
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1197 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 18:12 · PVG 02:12 · LAX 10:12 · JFK 13:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.