【发布时间】:2014-02-13 10:23:29
【问题描述】:
关于为什么 OOP 是正确的或者它在哪里工作等等有很多问题,所以这是其中之一,但是我是从内核的角度来问它的,以及为什么它不用作示例。
内核主要是用 C 编写的。它几乎不使用 OOP 。对 OOP 的普遍共识是,它是编程中最好的范例(主要是许多新手),但内核尽管是最具挑战性的编程领域之一,但不使用 OOPS。
所以我想知道 OOP 在哪些情况下有效,为什么它不能用于 Kernel 之类的东西?我试图了解为什么它在某些情况下可以工作的工程方面。你可以说 GUI 编程可能会从 OOP 中受益——据我了解,这样做的原因是你要创建一个特定事物的多个案例,而你可能会操纵它们 - 因此具有相同行为的不同状态是有意义的。
在更高的层次上,OOP 在哪些情况下可以被视为自然选择而不是过度设计?我很乐意就这个问题得到指点,因为这已经在很多地方进行了讨论。
PS:我正在寻找工程方面的。我理解这个问题的范围很广。任何有用的指针都会很好。
【问题讨论】:
-
“OOP 被认为是编程中最好的范例”,这是一个没有上下文的绝对声明。在许多情况下,OOP 不被认为是编程中的最佳范例,例如内核。
-
Sami Laine:我敢打赌,很多人认为 OOP 是解决编程世界中问题的最佳方式 :-) 至少在世界某些地方!你知道写类,你知道继承,你知道什么是抽象类 - 你被视为不同的联盟。
-
docs.oracle.com/javase/tutorial/java/concepts/class.html --> 在现实世界中,您经常会发现许多相同类型的单个对象。可能有成千上万的其他自行车存在,所有相同的品牌和型号 --> 对此我的想法是自行车与编程有什么关系!我通常不会创建 100 件我写的东西。我也不认为创建自行车原型是有帮助的。那么有哪些用例 - 内核或多或少没有遵循这种方法,除了一些可能如下所述的情况。