【发布时间】:2011-09-16 12:59:03
【问题描述】:
除了非常简单的理论之外,我对面向对象的编程特性一无所知,所以我希望有人能够告诉我使用对象与像这样的分组函数有何不同:
void parent(int a, int b, int c, int d)
{
if(a == ?)
{
void child(int a, int b)
{
etc
}
}
if(b == ?)
{
void child(int c, int d)
{
etc
}
}
if(c == ?)
{
void child(int c, int b, int a)
{
etc
}
}
}
除了向函数传递/从函数传递冲突的数据类型(在 C 中,我目前的知识基于此)和访问特定的代码模块稍微冗长一些之外,还有什么区别?
希望我已经把我的问题说清楚了,同时在这个过程中不会显得太愚蠢。 :)
谢谢。
【问题讨论】:
-
如果这是您的问题,您可以在没有语言支持的情况下模拟面向对象。当然,必要的样板代码使这在实践中变得相当不切实际(尽管并非完全没有头脑 - 请参阅用例如 C 或相当多的文件系统编写的面向对象语言的实现)。无论如何,您的示例似乎没有多大意义——截至目前,它显示的是词法嵌套函数,而不是任何与 OO 相关的函数。