首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
V2EX  ›  奇思妙想

多态,抽象,封装。大家有什么使用心得

  •  
  •   haosamax · 70 天前 · 1930 次点击
    这是一个创建于 70 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家都是怎么抽象的,什么情况下运用多态,以及封装的初衷。想请教下大家实际中都是遇到什么场景,以及怎么想到用这些特性的

    13 回复  |  直到 2019-10-07 17:48:40 +08:00
        1
    jorneyr   70 天前
    手中无剑
        2
    Iamnotfish   69 天前
    抽象:操作手册,按照上面的来可以知道咋操作的,但是该不会还是不会,因为没有实际操作过;
    封装:饭店上好的菜给你,就差喂你吃了;
    多态:饭店有宫保鸡丁,宫保虾仁,宫保牛肉,宫保鱼,都是宫保的但是菜不一样。
        3
    tudouxiong   69 天前 via Android
    建议学习下设计模式,感受用法
        4
    akira   69 天前   ♥ 1
    如果你写过大量的功能相似 但是又有部分细节不一致的代码,你就会开始思考这个问题了。
        5
    charlie21   69 天前 via iPhone
    能不用 OOP 理念就不用,除非逼不得已 要接手别人的 OOP 代码 ...
        6
    Orenoid   69 天前 via Android
    多用组合
        7
    emeab   69 天前
    这些不都是为了少写些代码...
        8
    siyemiaokube   69 天前 via iPhone
    可以学一些代数学,这些东西都有代数学做支撑
        9
    laike9m   69 天前 via Android
    不要为了多态而多态,为了封装而封装
        10
    qping   69 天前
    目的是适应变化、减少耦合、少写代码
        11
    expkzb   69 天前
    最终目的是为了少写代码,便于人类阅读。
    其他自己看着办
        12
    FrankHB   69 天前
    这几个并列的基本都是扯蛋。

    先厘清是什么再说。

    #什么是多态 polymorphism
    #什么是面向对象 p3
    #关于抽象和封装
    #封装和面向对象
        13
    haosamax   11 天前
    恩,说下我的情况,第三方的报文有几个相似的节点<Apply></Apply>,但是节点里有两个节点标志这个 Apply 是什么。一开始只是做了个枚举类,用来记录区分,后来对方改了需求,针对不同的 Apply (也就是不同的那两个节点),Apply 里的结构会不同,还有不同的逻辑处理。wdnmd,我都做完了,开始联调了,你跟我说这些。后来想了先之前看过的设计模式,这种场景适用策略模式,百度了下,用枚举可是实现策略模式,具体就是给定一个抽象方法,对于枚举的实例给与不同实现,就完美解决了,对方需求变更我这边不用大改!
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2365 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 26ms · UTC 13:57 · PVG 21:57 · LAX 06:57 · JFK 09:57
    ♥ Do have faith in what you're doing.