首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
拉勾
V2EX  ›  程序员

新手程序员,如何提高面向对象编程能力?

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

    刚入职不久,但是部门产品已相对成熟,平时的工作多是看代码、修 bug,做需求也不会对原有代码结构做太大的变动;觉得如果真的要自己动手写这样一个产品会非常吃力。

    请问平时自己学习时该如何提高面向对象编程的能力?

    41 回复  |  直到 2019-02-01 16:51:14 +08:00
        1
    hv3s1   46 天前
    ...现在什么框架不是面对对象。

    除了 C。其他基本上都是面对对象。

    提高编程能力,疯狂 CODE 吧。
        2
    Riverrun   46 天前
    @hv3s1 因为就是写 C 的……痛哭
        3
    junjieyuanxiling   46 天前
    那就 gtk。
        4
    chenqh   46 天前
    @Riverrun C 也有 C 的好处呀,性能高。。万物基于 C,逃
        5
    di94sh   46 天前 via Android
    可以了解 go 的面向对象。c 也能写出来
        6
    Riverrun   46 天前
    @chenqh 最近开始接触 java 感觉来到了没有技能的荒原 orz
        7
    Riverrun   46 天前
    @di94sh 感谢,去了解一下
        8
    anyele   46 天前 via Android
    说下我对楼主问题的理解,其实我觉得楼主想表达继承封装多态在实际代码里的应用? 还有各种设计模式怎么应用到业务代码里对吗?
        9
    q8164305   46 天前 via Android
    先写出来,再考虑写好
        10
    q8164305   46 天前 via Android
    其实不用面向对象照样能写代码的,就是不好维护而已,等你触到痛点,自然就会了,我刚开始写的时候也是看不懂面向对象干嘛用的,不用面向对象照样写代码,但是后期迭代的时候触到痛点自然就会了
        11
    danc   46 天前 via Android
    那就找个对象呗。去 TM 的面向对象,C 语言那种方式不是挺好的么
        12
    GeruzoniAnsasu   46 天前
    个人经验,写点 MFC 的小东西

    不用什么大项目,随便什么对话框小工具就足够了

    以前学编程的时候,c++看完类一脸懵逼一点概念都没,然后稍微学了学 MFC 突然开窍了,MFC 是纯 C++(C with class)搭起来的框架,没有任何扩展语法和机制,最多有点点宏,对学习 OO 编程很有帮助( c++语言限定)
        13
    Baymaxbowen   45 天前 via Android
    当我发现自己以前写的代码和一坨屎一样的时候
        14
    Andiry   45 天前   ♥ 1
    C 也能面向对象,看看 Linux kernel 里 VFS 的接口就懂了
        15
    BXIA   45 天前 via iPhone   ♥ 1
    现代的 c 也用了不少面向对象的模式
    Design pattern 还是要看看
        16
    ma9806   45 天前 via Android   ♥ 1
    找一个对象
        17
    lifeintools   45 天前
    先写出来 写够 10W+
        18
    ericgui   45 天前
    你自己写个 MVC 框架,不管多丑,不管多垃圾,能跑起来,自己用它写个博客
        19
    zhangroyaso   45 天前
    我一直。卡在这。
    mfc 是 win 的吗?没有 win 的我怎么办
    其实 lz 应该想要的和我一样,一条学习的道路能弄懂面相对象,不管是哪本书还是某个博客系列
        20
    Kaiv2   45 天前 via Android
    试试一个完成一个项目
        21
    shylockhg   45 天前   ♥ 1
    用 c 实现面向对象思想呗,
    不要 c++/java/python 这些原生实现影响了,
    关注面向对象的三大原则,自己用 c 模拟。
    比如 Linux 内核的 container_of。
        22
    chiu   45 天前
    C 也可以写面向对象的 C
        23
    SorcererXW   45 天前
    学一下设计模式
        24
    zhwithsweet   45 天前 via iPhone
    来吧,haskell。Fb 好玩一万倍(滑稽
        25
    frylkrttj   45 天前
    @Andiry @chiu 有没有 C 面向对象的书或者教程我想看看
        26
    frankyxu   45 天前   ♥ 1
    首先,你得有个对象
        27
    guanhui07   45 天前
    看看设计模式,把各种语法用熟悉 应用到写各种封装类库
        28
    no1xsyzy   45 天前
    C 的话不妨稍微看看 CPython 的源码?
    或者是哪个地方解释为什么 Python 方法需要 self —— 为了弄得像是 C OOP 一样。
        29
    StubbornC   45 天前
    没点进来之前还以为是找女朋友经验贴,失望啊阿仔(狗头
        30
    wingpui   45 天前
    楼上大大们都说得很对啦,经验到了,自然会升级的,技能都可以领悟的
        31
    OMan   45 天前
    首先,你要有个 对象。之后才能真正的实现,面向 对象 编程。
        32
    hievan   45 天前
    先找个“对象”吧.
        33
    zhazi   45 天前 via Android
    不知道楼上一群人在说啥
    你可以尝试用编程语言写个小短篇故事
    比如
    “一个人在逛超市”
    如何形容这个人,这个人在超市里能干什么,这个人本身能干什么,超市如何形容
    用汉语描述一遍,用编程语言表述一下你的汉语描述
    如果程序读起来没有歧义我觉得你就知道什么是面相对象了,
    如果把这句话转换成公司的商业业务你也应该能找到业务中的 “人”和“超市”
        34
    wei375653972   45 天前
    首先得找个对象,才能面向对象 你说是吧
        35
    libook   45 天前
    理论都了解的话,还是的练,自己做点小项目啥的,比如做些工具库,尝试使用面向对象的思想来设计。

    不过面向对象不能一招走天下,其他的变成思想最好也看看,项目上灵活使用。
        36
    qwingmix   45 天前
    当你有的一个项目不停地增长的时候,必然遇到 OOP 来解决重复代码的问题。 不然你要改动的个东西, 就要是 N 个重复代码的地方改动,效率会非常低。 这是最基本款的面向对象的好处。
        37
    tiedan   45 天前
    找个对象
        38
    ByZHkc3   45 天前
    new Object();
    Object.create();
    const MyGirl = {name:'Anna'};
    const MyGirl = function(name){
    return {

    }

    }
        39
    kakudesu   45 天前
    分三步把大象装进冰箱
        40
    xxgirl2   45 天前
        41
    zeroDev   45 天前 via Android
    自我感觉就是写,然后看文档怎么写
    日常写 Python
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1660 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 26ms · UTC 16:39 · PVG 00:39 · LAX 09:39 · JFK 12:39
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1