php - 为什么我应该使用类而不是函数的集合?

标签 php oop class

<分区>

Possible Duplicate:
What are the benefits of OO programming? Will it help me write better code?
OO PHP Explanation for a braindead n00b

刚开始学习/尝试在 PHP 中创建类,我想知道它们解决了什么难题?似乎我可以只使用我包含的一组函数来完成同样的工作进入文件。所以我的问题是:我为什么要使用类?

最佳答案

面向对象编程的三大支柱。好好学习它们:

http://codeidol.com/csharp/learncsharp2/Object-Oriented-Programming/The-Three-Pillars-of-Object-Oriented-Programming/

封装

面向对象编程的第一个支柱是封装。封装背后的想法是您希望保持每个类型或类的独立性和独立性,以便您可以更改一个类的实现而不影响任何其他类。

特化

面向对象编程的第二个支柱,特化,是通过继承来实现的;特别是通过声明一个新类派生自现有类。专用类继承了更通用类的特性。专用类称为派生类,而更通用的类称为基类。

派生类型继承共享字段和方法,而不是将代码从一种类型剪切和粘贴到另一种类型。如果您更改了共享能力在基类中的实现方式,则不必更新每个派生类型中的代码;他们继承了这些变化。

多态性

多态性允许使用统一的接口(interface)处理不同数据类型的值。多态性的主要用途是属于不同类型的对象能够响应同名的方法、字段或属性调用,每个调用都根据适当的特定于类型的行为。程序员(和程序)不必事先知道对象的确切类型,因此确切的行为是在运行时确定的

另见:

http://en.wikipedia.org/wiki/Polymorphism_in_object-oriented_programming

http://en.wikipedia.org/wiki/Type_polymorphism

关于php - 为什么我应该使用类而不是函数的集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2285404/

相关文章:

PHP 接口(interface) : Specify ANY visibility

php - 获取 mysql 表的多列并回显每一行

php - 使用 PHP 对表进行排序

python - 为什么 Python 不完全面向对象?

matlab - 在 Matlab 中的父类(super class)上定义自定义方法和属性 block

c++ - 如何在 C++ 中使用循环依赖类?

javascript - Backbone.js 和继承方法

php - 使用php和mysql从数据库中的所有表中获取数据

php - 找不到输出

oop - 你称它们为函数、过程还是方法?