当前位置: 首页 > 面试题库 >

简单的解释PHP OOP与过程?

雷献
2023-03-14
问题内容

我想学习PHP,并希望获得有关OOP和过程的想法。我还阅读了其他有关OOP与程序的博客和教程,但我仍然不理解这种方法。

OOP与程序

  1. 我应该学习哪个?
  2. 代码有什么区别?有什么影响?
  3. PHP框架如何帮助OOP?(我想学习CodeIgniter)
  4. 程序是否需要框架?

我真的很想知道两者的代码区别,我对OOP的理解是您创建了类似的类并且可以访问。(我不知道是否正确)。

谢谢!


问题答案:

背景: 您要求一个“简单的解释”,该解释建议:

  1. 您想要一个没有 术语* 的废话概述 *
  2. 您想要可以帮助您 从一开始学习的* 东西 *
  3. 您已经发现, 没有两个人以相同的方式回答问题 ,这很令人困惑。这就是您在这里要求简单说明的原因。是?

简短的非Jargon答案:

  1. 许多介绍性解释很快就跳入“ OOP现实世界”示例中。那些往往会使人迷惑而不是帮助,因此暂时不要理会。
  2. 您可以将源代码简单地视为功能的“块”,而恰好将其保存到单个文件中。
  3. 组织这些“块”有不同的方法。取决于编程语言的惯例,开发人员的背景和培训,或者仅仅是普通的个人喜好。
  4. OOP和过程编程只是用于组织和安排代码“块”的两种主要的公认方法。

长久无答案:

程序与OOP只是计算机编程的一个基本问题的一个方面:如何使您的代码易于 理解, 以及如何进行专业 维护
。实际上,您可以编写遵循OOP某些原理的“过程”代码,因此两者不一定是相反的。

一旦学习了其他面向对象的编程语言,您的理解就会真正增加,其中PHP是“新手”。

这是 您在积累经验时将会学到的内容 的快速概述

  • 您可以编写执行 有用任务的* PHP源代码 *
  • 您可以将有用的任务组织到代码的 “块”
  • 您可以 独立于保存文件的各个文件 来考虑代码的“块” __
  • 有时,这些“块”代码 根据 您传入的 参数而表现不同
  • 接受参数的代码块称为 “函数”
  • 可以将函数“分块” 在一起,并且有不同的方法可以这样做:
    • 例如: 您可能只有一个大PHP文件,其中包含您一生中编写的所有函数,并按字母顺序按函数名列出
    • 例如: 您可能有多个PHP文件,这些文件具有按主题分块的功能(例如,用于执行基本字符串操作的功能,用于处理数组的功能,用于文件输入/输出的功能等)
  • OOP是将功能“分块”在一起 成为“类”的* 一种特殊方式 *
  • 一个类 只是另一个层次的“块” 代码,因此您可以将其视为一个统一的整体
  • 可以将类视为 方法*属性 的“块” *

    • 方法 只是功能上以某种有意义的方式相互关联的函数。词语“方法”和“功能”基本上是同一事物的两个不同术语。
    • 属性 只是与类相关的数据值。这些值是有意非隔离于任何单个函数的值,因为类中的 多个 函数应该可以访问它们。
    • 例如 :如果您的类有很多用于做天文学的方法,则类的属性可能是所有天文学方法都需要知道的某些著名数字的值(例如Pi,光速,特定行星之间的距离,等等。)。
    • 这是 大多数OOP解释令人困惑的地方, 因为它们可以分解为 “ 现实世界中的例子 ”,而这些例子可以很快脱离话题。通常,“现实世界”是特定个体的本体论观点的委婉说法。 仅当您已经 足够 了解该概念 并将其教给其他人时,这才 很有用
    • 为了不引起混乱地理解OOP,您现在可以跳过“真实世界”示例,而只关注代码。类 只是将函数 (即方法) 和属性 (即数据)作为PHP 代码存储在一个或多个相关“块”中的一种方法 ,其中每个“块”都处理特定的主题或功能。这就是您开始需要了解的所有信息。
    • 类之所以有用,是因为它允许您以一种易于理解,使用和维护的方式来 高层次 地组织代码。
  • 当某人编写了很多功能并将它们组织成很多类,并以很酷的方式使它们一起工作时,他们将整个东西打包在一起,并称之为 “框架”

  • 框架 只是 一个或多个人同意 的“次要” (包括代码风格和约定) 的第二高级别, 因为他们喜欢代码的组织方式,并且适合他们的工作风格,偏好,价值观,世界计划统治等


 类似资料:
  • 我实现了一个非常简单的递归方法,将两个数相乘在一起。我很难理解递归的基本知识。 有没有人能向我解释(如果可能的话,逐行解释)这段代码是如何工作的?我尤其感到困惑的是,基大小写被写为返回0,而实际上返回的是实际的乘法。 谢谢你的帮助

  • 问题内容: 请以简单的语言向我解释。请不要发布网络链接,因为我需要阅读开发人员而不是作者的理解。 问题答案: 我能为您指出的最好是SQL Join的直观说明。 这些图表对我有很大帮助。 从此处的链接文章中添加主要图表。 内部联接 内部联接仅生成在表A和表B中都匹配的记录集。 完全外部联接 完全外部联接将生成表A和表B中所有记录的集合,并在可用时提供双方的匹配记录。如果没有匹配项,则缺少的一面将为空

  • 问题内容: 根据Java Concurrency in Practice,第11.4.3章说: 锁拆分有时可以扩展为对一组可变对象的独立对象进行分区锁,在这种情况下,这称为锁拆分。例如,ConcurrentHashMap的实现使用了一个由16个锁组成的数组,每个锁保护着1/16的哈希桶。桶N由锁N mod 16保护。 我仍然无法理解和可视化锁条和桶机制。有人可以用很好的理解力来解释这个问题吗:)

  • 它基本上是说“每一栏...”-这就是我被困住的地方

  • 本文向大家介绍简单描述一下,TCP的连接和释放过程。相关面试题,主要包含被问及简单描述一下,TCP的连接和释放过程。时的应答技巧和注意事项,需要的朋友参考一下 考察点:网络基础   三次握手的过程 1)主机A向主机B发送TCP连接请求数据包,其中包含主机A的初始序列号seq(A)=x。(其中报文中同步标志位SYN=1,ACK=0,表示这是一个TCP连接请求数据报文;序号seq=x,表明传输数据时的

  • 可能的重复: Java是什么?:运算符叫什么,它做什么? 你好,我在理解下面的代码时遇到了一些问题,有人能帮我弄到吗? 我不明白是什么意思。