2020-04-24-面向对象编程基础知识
2020-04-24 本文已影响0人
xiaojianxu
面向对象编程基础知识
面向对象编程,不仅仅代表着一种新的语法,同时,更是一种看待问题的新方式。
初学者最常见的错误是不恰当地使用面向对象编程技术。
PHP 将会告诉我们代码中的语法错误,但是我们要自己学习如何避免理论错误。
程序归根结底都是与数据打交道:一个用户在 HTML 表单中输入了数据;PHP 代码对其做验证操作,发送邮件,或者在数据库中将其存储,等等。
这些就是简单的动词(操作)和名词(数据)。
在面向过程的编程中,我们的重点放在动词上:做这个,然后做这个,然后再做这个。
在面向对象编程中,我们的重点放在名词上:程序需要什么类型的数据工作?
两种编程思想中,我们都需要辨别所需要的名词和动词,不同的地方在于,应用设计所关注的点不同。
面向对象编程中,两个最重要的术语是“类”和“对象”。
类是对某个事物的概括定义,可以看做是一个蓝图。对象则是对某个事物的具体实现,可以看做是依照蓝图建立起来的房屋。
为了实现面向对象编程,我们首先定义类,然后在程序中根据需要实现它们为对象。
面向对象编程的原则之一是“模块化”:把应用程序拆分为明确的子部分。Web 站点需要做很多事情:与数据库交互、处理表单、发送电子邮件、生成 HTML 代码,如此等等。
这些都可以作为一个模块,也就是一个类。
通过分离不相关(虽然它们是交互的)的元素,我们就可以实现代码的独立开发,而且维护和更新工作也不会那么混乱,调试工具也会简化。
与“模块化”相关的概念是“抽象”:类的定义应该很宽泛。
面向对象编程的另一个原则是“封装”:分隔和隐藏工作的完成方式。
一个设计良好的对象可以根据我们的需要做任何事情,而我们甚至不必知道它是如何完成工作的。与“封装”的概念经常一并提起的概念是“访问控制”和“可见性”,它们表示了类中组件的可访问程度。