刚入职不久,但是部门产品已相对成熟,平时的工作多是看代码、修 bug,做需求也不会对原有代码结构做太大的变动;觉得如果真的要自己动手写这样一个产品会非常吃力。
请问平时自己学习时该如何提高面向对象编程的能力?
1
hv3s1 2019-01-31 22:38:34 +08:00
...现在什么框架不是面对对象。
除了 C。其他基本上都是面对对象。 提高编程能力,疯狂 CODE 吧。 |
3
junjieyuanxiling 2019-01-31 22:45:32 +08:00
那就 gtk。
|
5
di94sh 2019-01-31 22:59:55 +08:00 via Android
可以了解 go 的面向对象。c 也能写出来
|
8
anyele 2019-02-01 00:12:10 +08:00 via Android
说下我对楼主问题的理解,其实我觉得楼主想表达继承封装多态在实际代码里的应用? 还有各种设计模式怎么应用到业务代码里对吗?
|
9
q8164305 2019-02-01 00:21:25 +08:00 via Android
先写出来,再考虑写好
|
10
q8164305 2019-02-01 00:23:58 +08:00 via Android
其实不用面向对象照样能写代码的,就是不好维护而已,等你触到痛点,自然就会了,我刚开始写的时候也是看不懂面向对象干嘛用的,不用面向对象照样写代码,但是后期迭代的时候触到痛点自然就会了
|
11
danc 2019-02-01 00:29:41 +08:00 via Android
那就找个对象呗。去 TM 的面向对象,C 语言那种方式不是挺好的么
|
12
GeruzoniAnsasu 2019-02-01 00:29:47 +08:00
个人经验,写点 MFC 的小东西
不用什么大项目,随便什么对话框小工具就足够了 以前学编程的时候,c++看完类一脸懵逼一点概念都没,然后稍微学了学 MFC 突然开窍了,MFC 是纯 C++(C with class)搭起来的框架,没有任何扩展语法和机制,最多有点点宏,对学习 OO 编程很有帮助( c++语言限定) |
13
Baymaxbowen 2019-02-01 01:11:38 +08:00 via Android
当我发现自己以前写的代码和一坨屎一样的时候
|
14
Andiry 2019-02-01 01:47:27 +08:00 1
C 也能面向对象,看看 Linux kernel 里 VFS 的接口就懂了
|
15
RqPS6rhmP3Nyn3Tm 2019-02-01 01:58:17 +08:00 via iPhone 1
现代的 c 也用了不少面向对象的模式
Design pattern 还是要看看 |
16
ma9806 2019-02-01 02:01:18 +08:00 via Android 1
找一个对象
|
17
lifeintools 2019-02-01 05:56:07 +08:00
先写出来 写够 10W+
|
18
ericgui 2019-02-01 06:09:58 +08:00
你自己写个 MVC 框架,不管多丑,不管多垃圾,能跑起来,自己用它写个博客
|
19
zhangroyaso 2019-02-01 08:06:00 +08:00
我一直。卡在这。
mfc 是 win 的吗?没有 win 的我怎么办 其实 lz 应该想要的和我一样,一条学习的道路能弄懂面相对象,不管是哪本书还是某个博客系列 |
20
Kaiv2 2019-02-01 08:09:22 +08:00 via Android
试试一个完成一个项目
|
21
shylockhg 2019-02-01 09:09:48 +08:00 1
用 c 实现面向对象思想呗,
不要 c++/java/python 这些原生实现影响了, 关注面向对象的三大原则,自己用 c 模拟。 比如 Linux 内核的 container_of。 |
22
chiu 2019-02-01 09:11:29 +08:00
C 也可以写面向对象的 C
|
23
SorcererXW 2019-02-01 09:13:38 +08:00
学一下设计模式
|
24
zhwithsweet 2019-02-01 09:16:15 +08:00 via iPhone
来吧,haskell。Fb 好玩一万倍(滑稽
|
26
frankyxu 2019-02-01 09:58:41 +08:00 1
首先,你得有个对象
|
27
guanhui07 2019-02-01 10:03:28 +08:00
看看设计模式,把各种语法用熟悉 应用到写各种封装类库
|
28
no1xsyzy 2019-02-01 10:30:56 +08:00
C 的话不妨稍微看看 CPython 的源码?
或者是哪个地方解释为什么 Python 方法需要 self —— 为了弄得像是 C OOP 一样。 |
29
StubbornC 2019-02-01 10:39:49 +08:00
没点进来之前还以为是找女朋友经验贴,失望啊阿仔(狗头
|
30
wingpui 2019-02-01 10:44:09 +08:00
楼上大大们都说得很对啦,经验到了,自然会升级的,技能都可以领悟的
|
31
OMan 2019-02-01 10:45:21 +08:00
首先,你要有个 对象。之后才能真正的实现,面向 对象 编程。
|
32
hievan 2019-02-01 11:04:06 +08:00
先找个“对象”吧.
|
33
zhazi 2019-02-01 11:23:41 +08:00 via Android
不知道楼上一群人在说啥
你可以尝试用编程语言写个小短篇故事 比如 “一个人在逛超市” 如何形容这个人,这个人在超市里能干什么,这个人本身能干什么,超市如何形容 用汉语描述一遍,用编程语言表述一下你的汉语描述 如果程序读起来没有歧义我觉得你就知道什么是面相对象了, 如果把这句话转换成公司的商业业务你也应该能找到业务中的 “人”和“超市” |
34
wei375653972 2019-02-01 11:28:48 +08:00
首先得找个对象,才能面向对象 你说是吧
|
35
libook 2019-02-01 11:46:07 +08:00
理论都了解的话,还是的练,自己做点小项目啥的,比如做些工具库,尝试使用面向对象的思想来设计。
不过面向对象不能一招走天下,其他的变成思想最好也看看,项目上灵活使用。 |
36
qwingmix 2019-02-01 15:11:08 +08:00
当你有的一个项目不停地增长的时候,必然遇到 OOP 来解决重复代码的问题。 不然你要改动的个东西, 就要是 N 个重复代码的地方改动,效率会非常低。 这是最基本款的面向对象的好处。
|
37
tiedan 2019-02-01 16:17:47 +08:00
找个对象
|
38
ByZHkc3 2019-02-01 16:27:42 +08:00
new Object();
Object.create(); const MyGirl = {name:'Anna'}; const MyGirl = function(name){ return { } } |
39
kakudesu 2019-02-01 16:38:07 +08:00
分三步把大象装进冰箱
|
40
xxgirl2 2019-02-01 16:44:45 +08:00
|
41
zeroDev 2019-02-01 16:51:14 +08:00 via Android
自我感觉就是写,然后看文档怎么写
日常写 Python |