C 中的面向对象编程

发布于 2024-09-24 19:04:58 字数 317 浏览 7 评论 0原文

可能的重复:
你能用 C 语言编写面向对象的代码吗?

你好,可以有人给我指了一个教程,解释如何在 ANSI C 中实现 OOP 概念:

  • 虚函数
  • 继承
  • 最佳实践

一本关于 OOP 编程 ANSI C 的书也很棒。

Possible Duplicate:
Can you write object oriented code in C?

Hi, can someone point me to a tutorial explain me how OOP concepts can be implemented in ANSI C:

  • virtual functions
  • inheritance
  • best practice

A book about OOP programming ANSI C would be great too.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

通知家属抬走 2024-10-01 19:04:59
  1. Objective-C 不是 C——它是一种不同的语言。
  2. C 不是面向对象的语言。可以做一些面向对象风格的事情,但这不是它的目的。
  3. C 中的最佳实践是过程性的。
  1. Objective-C isn't C - it's a different language.
  2. C isn't an object-oriented language. It's possible to do some OO-style stuff, but it's not what it's built for.
  3. Best practices in C are procedural.
攒一口袋星星 2024-10-01 19:04:59

我建议查看 GTK+ GUI 工具包 的内部结构。它是一个用 C 语言编写的面向对象的系统,展示了您所追求的技术。它是开源的,因此没有什么可以阻止您阅读和学习。

I would recommend looking at the internals of the GTK+ GUI toolkit. It's an object-oriented system written in C, showing off the techniques you're after. It is open source, so there's nothing stopping you from reading it and learning.

记忆消瘦 2024-10-01 19:04:59

面向对象的机制并未被定义为 C 语言的功能。您必须通过在 C 的过程性质之上添加自己的逻辑来模拟面向对象。

我不建议在 C 中应用 OOP 的每个方面。虽然封装相对容易实现,但实现继承确实很难看使用一种并非为此而设计的语言。

一个很好的教程: http://www.planetpdf.com/codecuts/pdfs/ ooc.pdf

Object-oriented mechanisms aren't defined as features of the C language. You'll have to emulate object-orientation by adding your own logic on top of the procedural nature of C.

I wouldn't recommend applying every aspect of OOP in C. While encapsulation is relatively easy to achieve, implementing inheritance would be really ugly in a language that wasn't made for that.

A good tutorial on that: http://www.planetpdf.com/codecuts/pdfs/ooc.pdf

好听的两个字的网名 2024-10-01 19:04:58

以下是有关此主题的书籍的链接: http://www.planetpdf.com /codecuts/pdfs/ooc.pdf(Ansi-C 中的面向对象编程 - 正是您所寻找的)。

祝你好运并有耐心。用 C 语言编写 OOP 并不是一件容易的事,但如果您喜欢极端的事情,可能会有所收获!

另一个起点是检查 GObject: http://library.gnome.org/devel/gobject/ 正如 @unwind 所说 GTK 是一个很好的例子在 C 中使用 OOP 概念。您还可以使用 GLib,这是一个很好的库,它将当然,它会让你的 C 编程生活变得更加轻松,它是以 OOP 方式编程的,而且还有一个优点是可移植!

Here is the link of a book on this topic: http://www.planetpdf.com/codecuts/pdfs/ooc.pdf (Object Oriented Programming in Ansi-C - exacty what you were looking for).

Good luck and have patience. Writing OOP in C is not an easy task, but can be somewhat rewarding if you like extreme things !

Another starting point will be to check GObject: http://library.gnome.org/devel/gobject/ and as @unwind said GTK is a good example of how to use OOP concepts in C. You can also take at GLib, is a nice library that will certainly make your C programming life a lot more easier, it is programmed in OOP manner, and as a plus is portable!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文