Solución:
Fondo: Solicitó una “explicación simple” que sugiere:
- Quieres una descripción general sensata sin jerga
- Quieres algo que te ayude aprender desde el principio
- Has descubierto que no hay dos personas que respondan la pregunta de la misma maneray es confuso. Esa es la razón por la que estás aquí pidiendo una explicación simple. ¿Sí?
Respuesta corta sin jerga:
- Muchas explicaciones introductorias saltan rápidamente a ejemplos del “mundo real de programación orientada a objetos”. Esos pueden confundir más que ayudar, así que siéntete libre de ignorar eso por ahora.
- Puede pensar en el código fuente simplemente como “fragmentos” de funcionalidad, que simplemente se guardan en archivos individuales.
- Hay diferentes formas de organizar esos “trozos”; dependiendo de cosas como las convenciones del lenguaje de programación, los antecedentes y la capacitación de los desarrolladores, o simplemente las preferencias personales antiguas.
- La programación por procedimientos y la programación orientada a objetos son simplemente dos metodologías principales, generalmente reconocidas, sobre cómo organizar y disponer esos “fragmentos” de código.
Respuesta larga sin jerga:
Procedural vs OOP es solo un aspecto de un tema fundamental de la programación de computadoras: cómo hacer que su código sea fácil de comprender y pan comido para profesionalmente mantener. De hecho, puede escribir código “procedimental” que siga algunos de los principios de la programación orientada a objetos, por lo que los dos no son necesariamente opuestos.
Su comprensión realmente crecerá una vez que aprenda otros lenguajes de programación orientados a objetos, entre los cuales, PHP es un “niño nuevo en el bloque”.
Aquí hay una descripción general rápida de lo que aprenderá a medida que desarrolle experiencia:
-
Puede escribir código fuente PHP que lo haga tareas útiles
-
Puede organizar tareas útiles en “trozos” de código
-
Puedes pensar en “fragmentos” de código independientemente de los archivos individuales donde se guardan
-
A veces, esos “fragmentos” de código comportarse de manera diferente en función de los parámetros tu pasas
-
Los fragmentos de código que aceptan parámetros se llaman “Funciones”
-
Las funciones se pueden “fragmentar” juntos, y hay diferentes formas de hacerlo:
- Por ejemplo: podría tener un solo archivo PHP grande con todas las funciones que haya escrito en toda su vida, enumeradas en orden alfabético por nombre de función
- Por ejemplo: podría tener varios archivos PHP con funciones agrupadas por tema [e.g., functions for doing basic string manipulation, functions for processing arrays, functions for file input/output, etc]
-
OOP es una forma especial de “fragmentar” funciones juntas en una “Clase”
-
Una clase es solo otro nivel de “fragmentación” codificar juntos para que pueda tratarlo como un todo unificado
-
Una clase se puede considerar como un “fragmento” de métodos y propiedades
- métodos son simplemente funciones que están lógicamente relacionadas entre sí de alguna manera significativa. Las palabras “método” y “función” son básicamente dos términos diferentes para lo mismo.
-
propiedades son simplemente valores de datos que están relacionados con la clase. Estos son valores que intencionalmente no están aislados de ninguna función individual, porque más de uno de las funciones de la clase deberían tener acceso a ellas.
- Por ejemplo: si su clase tiene varios métodos para hacer astronomía, las propiedades de la clase pueden ser los valores de ciertos números famosos que todos los métodos de astronomía deben conocer (como Pi, la velocidad de la luz, la distancia entre planetas específicos, etc. ).
- Esto es donde la mayoría de las explicaciones de OOP se vuelven confusas porque se ramifican en “ejemplos del mundo real” que rápidamente pueden salirse del tema. A menudo, “mundo real” es un eufemismo para las perspectivas ontológicas de un individuo o grupo en particular. Que tiende a ser útil solo una vez que ya comprenda el concepto lo suficientemente bien como para enseñárselo a otra persona.
- Para comprender la programación orientada a objetos sin confusión, puede omitir los ejemplos del “mundo real” por ahora y centrarse en el código. Una clase es simplemente una forma de almacenar funciones (también conocidos como métodos) y propiedades (también conocido como datos) como PHP código en uno o más “fragmentos” relacionados donde cada “fragmento” individual trata de un tema específico o de una función. Eso es todo lo que necesita saber para comenzar.
-
Una clase es útil porque le permite organizar su código en un nivel muy alto de una manera que le facilite la comprensión, el uso y el mantenimiento.
-
Cuando alguien ha escrito muchas funciones y las ha organizado en muchas clases y ha conseguido que funcionen juntas de una manera interesante, empaquetan todo y lo llaman Un marco”.
-
Un marco es solo el siguiente nivel más alto de “fragmentación” (incluido el estilo de codificación y las convenciones) en las que una o más personas están de acuerdo porque les gusta la forma en que está organizado el código y se adapta a su estilo de trabajo, preferencias, valores, planes de dominación mundial, etc.
Ver también
- Apelación de OOP
OOP no es más que un patrón de diseño. Si recién está comenzando, aprenda los conceptos básicos enfocándose en el enfoque de procedimiento. Lo más importante es familiarizarse con los principios básicos como bucles, condiciones y otros procedimientos de llamada.
Mientras crea su código de procedimiento, conviértase en un hábito agregando métodos relacionados dentro de un solo archivo fuente. Aprenda a dividir sus procedimientos en unidades lógicas y luego comenzará a orientarse a objetos. Básicamente, un objeto no es más que una colección de métodos que están relacionados entre sí simplemente porque operan sobre el mismo conjunto de datos. (¡No hablamos de bases de datos aquí, sino de datos de aplicaciones!)
OO se utiliza principalmente para hacer que su código sea más lógico dividiendo todo en bloques simples. Combinando los bloques correctos, obtienes una aplicación completa. OO no es una bala de plata o un martillo de oro que resolverá todos tus problemas. Pero lo que sí hace es facilitar la comprensión del código.
Por otra parte, algunas personas todavía se las arreglan para hacer un desastre completo con los objetos, simplemente convirtiéndolos en enormes superobjetos con cientos de métodos. Dichos objetos no difieren mucho de un enfoque de procedimiento regular, simplemente por la gran cantidad de métodos que se combinan sin ninguna lógica real. Es un error fácil de cometer cuando la gente empieza a hacer POO demasiado rápido.
Para agregar las excelentes respuestas anteriores. Debería ver la programación orientada a objetos como una progresión natural de su estilo de codificación: cuando comience a escribir un programa pequeño, es posible que solo necesite juntar un par de líneas de código php, luego agruparlas en funciones y cuantas más funciones escriba, puede sentir la necesidad para organizarlos mejor en clases. OOP simplemente deja que tu estructura tus códigos mejor, lo que permite un mejor mantenimiento del código.