由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
CS版 - 面向对象是谁发明的阿?
相关主题
面向对象技术反驳JAVA无用论
牛人:汉语是世界上唯一一种面向对象的高级语言 (转载)放松一下:汉语是世界上唯一一种面向对象的高级语言 (转载)
我认为开发基于算法的软件不适合用面向对象。面向对象真的解决了软件危机吗?
非专业人士转行CS成功经验分享请大家推荐 面向对象设计的书 谢谢!
《编程逻辑与设计》(The Art of Readable Code)第6版[PDF]面向对象技术???
放松一下:汉语是世界上唯一一种面向对象的高级语言这青年千人面向对象有点奇怪
汉语是世界上唯一一种面向对象的高级语言今天思考面向对象的问题
学术:面向对象是这个意思吧啥叫面向对象啊,这个面象很不理解啊
相关话题的讨论汇总
话题: 面向对象话题: oo话题: 发明话题: 结构话题: 方式
进入CS版参与讨论
1 (共1页)
i*******D
发帖数: 993
1
是不是主要为了多人协作和大规模的项目阿?或者适合流水作业?刚开始学习面向对象
编程。感觉一个作者独立写的项目采用面向对象方式编程可能有很多overhead阿。除了
要考虑本身问题在算法上的结构外,还要考虑各个类之间的逻辑结构,消耗了很大的精
力。。。 网上有些例子就是尽量让你完全地面向对象化。main里面尽量少。
我明白面向对象的思想就是尽量封装和模块话。就像网络的层状结构。但是问题是这样
做本身也有额外的代价。就像很多时候实际的网络产品不是按照7层的方式来设计的。
请问各位大牛,在什么样的情况下适合面向对象方式?什么样的情况下用面向过程的方
式好呢?
g*****g
发帖数: 34805
2
除了写系统内核之类的特定任务,面向对象适用于所有其他任务。

【在 i*******D 的大作中提到】
: 是不是主要为了多人协作和大规模的项目阿?或者适合流水作业?刚开始学习面向对象
: 编程。感觉一个作者独立写的项目采用面向对象方式编程可能有很多overhead阿。除了
: 要考虑本身问题在算法上的结构外,还要考虑各个类之间的逻辑结构,消耗了很大的精
: 力。。。 网上有些例子就是尽量让你完全地面向对象化。main里面尽量少。
: 我明白面向对象的思想就是尽量封装和模块话。就像网络的层状结构。但是问题是这样
: 做本身也有额外的代价。就像很多时候实际的网络产品不是按照7层的方式来设计的。
: 请问各位大牛,在什么样的情况下适合面向对象方式?什么样的情况下用面向过程的方
: 式好呢?

i*******D
发帖数: 993
3
好吧。我努力把自己的思维方式该造成面向对象的。。。

【在 g*****g 的大作中提到】
: 除了写系统内核之类的特定任务,面向对象适用于所有其他任务。
r********3
发帖数: 2998
4
面向对象最早是造飞机的人发明的。
因为以前飞机零部件太多了,内部线路太复杂了,修飞机的时候人爬进去,都是一捆一
捆的线路掏出来弄。后来他们就觉得太复杂了,于是要求工程师把每个部件都封装好,
只暴露控制信号线和电源线在外面就行了。这种思想在工程制造早就有了。

【在 i*******D 的大作中提到】
: 是不是主要为了多人协作和大规模的项目阿?或者适合流水作业?刚开始学习面向对象
: 编程。感觉一个作者独立写的项目采用面向对象方式编程可能有很多overhead阿。除了
: 要考虑本身问题在算法上的结构外,还要考虑各个类之间的逻辑结构,消耗了很大的精
: 力。。。 网上有些例子就是尽量让你完全地面向对象化。main里面尽量少。
: 我明白面向对象的思想就是尽量封装和模块话。就像网络的层状结构。但是问题是这样
: 做本身也有额外的代价。就像很多时候实际的网络产品不是按照7层的方式来设计的。
: 请问各位大牛,在什么样的情况下适合面向对象方式?什么样的情况下用面向过程的方
: 式好呢?

s******c
发帖数: 1920
5
一个人就能完成的project这种规模
OO带来的overhead很有可能会超过带来的好处
上了一定规模以后,OO还是有很多好处 比如代码的复用,更清晰的结构等等。
不过这些都是相对的,
Linus教主就认为不管啥,C就可以hold住了,什么都能hold住

【在 i*******D 的大作中提到】
: 是不是主要为了多人协作和大规模的项目阿?或者适合流水作业?刚开始学习面向对象
: 编程。感觉一个作者独立写的项目采用面向对象方式编程可能有很多overhead阿。除了
: 要考虑本身问题在算法上的结构外,还要考虑各个类之间的逻辑结构,消耗了很大的精
: 力。。。 网上有些例子就是尽量让你完全地面向对象化。main里面尽量少。
: 我明白面向对象的思想就是尽量封装和模块话。就像网络的层状结构。但是问题是这样
: 做本身也有额外的代价。就像很多时候实际的网络产品不是按照7层的方式来设计的。
: 请问各位大牛,在什么样的情况下适合面向对象方式?什么样的情况下用面向过程的方
: 式好呢?

r********3
发帖数: 2998
6
不会啊。我觉得Linux内核代码真的是面向对象的好处。
比如说Linux内核的驱动,就是典型的面对对象。虽然C没有class,但是Linus居然用
struct和函数指针的方式来实现了面向对象,相当赞!

【在 s******c 的大作中提到】
: 一个人就能完成的project这种规模
: OO带来的overhead很有可能会超过带来的好处
: 上了一定规模以后,OO还是有很多好处 比如代码的复用,更清晰的结构等等。
: 不过这些都是相对的,
: Linus教主就认为不管啥,C就可以hold住了,什么都能hold住

s****t
发帖数: 698
7

就酒肉穿肠过,佛祖心中留一样。
OO是一种思想,和具体的实现无关。
所以,C也可以写出OO的代码。

【在 s******c 的大作中提到】
: 一个人就能完成的project这种规模
: OO带来的overhead很有可能会超过带来的好处
: 上了一定规模以后,OO还是有很多好处 比如代码的复用,更清晰的结构等等。
: 不过这些都是相对的,
: Linus教主就认为不管啥,C就可以hold住了,什么都能hold住

s******c
发帖数: 1920
8
上了境界以后语言就是工具了,
只是一般人做不到,其实用C写OO挺累的,
我花时间啃过Object-Oriented Programming With ANSI-C
结论就是, 真费事, 要不是写底层追求性能 真犯不着

【在 r********3 的大作中提到】
: 不会啊。我觉得Linux内核代码真的是面向对象的好处。
: 比如说Linux内核的驱动,就是典型的面对对象。虽然C没有class,但是Linus居然用
: struct和函数指针的方式来实现了面向对象,相当赞!

r********3
发帖数: 2998
9
我觉得有时间去读读Linux Kernel的源代码,会学会很多东西。小到一些coding技巧,
大到设计模式。细到机器指令,大到算法调度,都有覆盖。

【在 s******c 的大作中提到】
: 上了境界以后语言就是工具了,
: 只是一般人做不到,其实用C写OO挺累的,
: 我花时间啃过Object-Oriented Programming With ANSI-C
: 结论就是, 真费事, 要不是写底层追求性能 真犯不着

g*****g
发帖数: 34805
10
可以做跟方便做是两回事。就跟理论上啥都可以用汇编写一样。

【在 s****t 的大作中提到】
:
: 就酒肉穿肠过,佛祖心中留一样。
: OO是一种思想,和具体的实现无关。
: 所以,C也可以写出OO的代码。

v*****r
发帖数: 1119
11
OO 的概念应该最早是出现于 simulation

【在 i*******D 的大作中提到】
: 是不是主要为了多人协作和大规模的项目阿?或者适合流水作业?刚开始学习面向对象
: 编程。感觉一个作者独立写的项目采用面向对象方式编程可能有很多overhead阿。除了
: 要考虑本身问题在算法上的结构外,还要考虑各个类之间的逻辑结构,消耗了很大的精
: 力。。。 网上有些例子就是尽量让你完全地面向对象化。main里面尽量少。
: 我明白面向对象的思想就是尽量封装和模块话。就像网络的层状结构。但是问题是这样
: 做本身也有额外的代价。就像很多时候实际的网络产品不是按照7层的方式来设计的。
: 请问各位大牛,在什么样的情况下适合面向对象方式?什么样的情况下用面向过程的方
: 式好呢?

e*****t
发帖数: 1005
12
check out ada

【在 v*****r 的大作中提到】
: OO 的概念应该最早是出现于 simulation
s****t
发帖数: 698
13

我好像没说方便吧?赫赫

【在 g*****g 的大作中提到】
: 可以做跟方便做是两回事。就跟理论上啥都可以用汇编写一样。
t***m
发帖数: 358
14
这有什么可赞的。OO内部本来就是这么实现的。早期的C++就是C的wrapper,class
precompile成 C 的struct加函数指针,然后再调c的compiler。

【在 r********3 的大作中提到】
: 不会啊。我觉得Linux内核代码真的是面向对象的好处。
: 比如说Linux内核的驱动,就是典型的面对对象。虽然C没有class,但是Linus居然用
: struct和函数指针的方式来实现了面向对象,相当赞!

1 (共1页)
进入CS版参与讨论
相关主题
啥叫面向对象啊,这个面象很不理解啊《编程逻辑与设计》(The Art of Readable Code)第6版[PDF]
何谓面向对象的数据库放松一下:汉语是世界上唯一一种面向对象的高级语言
第二课 见识一下面向对象的编程汉语是世界上唯一一种面向对象的高级语言
牛人:汉语是世界上唯一一种面向对象的高级语言 (转载)学术:面向对象是这个意思吧
面向对象技术反驳JAVA无用论
牛人:汉语是世界上唯一一种面向对象的高级语言 (转载)放松一下:汉语是世界上唯一一种面向对象的高级语言 (转载)
我认为开发基于算法的软件不适合用面向对象。面向对象真的解决了软件危机吗?
非专业人士转行CS成功经验分享请大家推荐 面向对象设计的书 谢谢!
相关话题的讨论汇总
话题: 面向对象话题: oo话题: 发明话题: 结构话题: 方式