帮助理解面向对象编程OOP

3
我一直在多个网站上阅读关于面向对象编程的内容,也在Stack Overflow上查找,但很难找到一个展示完整PHP面向对象应用程序的好例子。他们使用汽车作为例子,但对我来说并不能很好地将其实际应用于未来的项目中。
有没有人能给我展示一个真实网站场景下可用的良好的OOP完整示例呢?我知道我可能要求过多,但这真的会帮助我很多。
或者有没有某个图表可以展示方法、类、对象、构造函数等之间的现实关系?
我知道这不是简单的解释,但我会感激任何尝试。
提前感谢。

2
这是“面向对象”,而不是“面向对象化”。 :P - Jacob Relkin
“一个好的完整示例”超出了本网站的范围。如果您找不到好的教程,请购买一本不错的书籍。 - Gordon
4个回答

4
如果你把“car”改成一些在网络上更常见的东西,会怎么样呢?
$post = new BlogPost();
$post->setTitle($_POST['title']);
$post->setBody($_POST['body']);
$post->setTags($_POST['tags']);
$post->save();

同样的思路。你有一个BlogPost类,它封装了博客文章的表示和操作。它隐藏了像将用户提供的逗号分隔标签列表转换为在保存文章时在标签表中分开行的东西,以及保存文章的方式等细节。即使你从将它们保存为文本文件切换到将它们保存在数据库中,也不需要像上面那样更改读取或写入文章的所有代码。


3
你可以尝试使用 SymfonyYii。它们都是面向对象编程,而且都有可以快速入门的示例应用程序。

+1并不是因为推荐某个框架,而是因为理解面向对象编程最简单的方法是使用现有的面向对象应用程序,而不是从头开始编写自己的应用程序。 - Sander Marechal

1
Bruce Eckel的免费书籍 "Thinking in Java" 包含了一个关于面向对象世界的很好的介绍(第一章)。尽管它包含了一些Java的参考内容,但你会发现在C++、Java、PHP或任何其他现代编程语言中,面向对象编程的概念基础是相同的。

谢谢,仅仅在介绍部分就已经很有前途了。我会读完整本书的。感谢你的建议,安德拉斯。 - Glacius
@Glacius:很高兴它也对你有用。当我试图深入了解多态性或继承等抽象概念时,这本书确实对我帮助很大。 - András Szepesházi

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接