Diferencia entre revisiones de «Plantilla:PHP/ConceptosBasicos»
De WikiEducator
(→Elementos en la Programación Orientada a Objetos) |
|||
| (3 revisiones intermedias por el mismo usuario no mostrado) | |||
| Línea 1: | Línea 1: | ||
===Conceptos básicos de la Programación Orientada a Objetos (OOP o POO)=== | ===Conceptos básicos de la Programación Orientada a Objetos (OOP o POO)=== | ||
| − | === | + | === Conceptos básicos de la Programación Orientada a Objetos (OOP o POO) === |
| − | * | + | ==== OOP vs. Programación estructurada ==== |
| − | * | + | |
| − | * Los | + | *La '''programación orientada a objetos (POO)''' surge como una evolución de la programación estructurada. |
| − | * Podemos hablar de un | + | *Busca modelar los problemas del mundo real utilizando objetos que combinan '''datos''' y '''comportamientos'''. |
| − | * Un | + | |
| + | |||
| + | * En programación, ''el paradigma imperativo'' se basa en '''funciones y datos'''. | ||
| + | * ''El paradigma orientado a objetos'' se basa en '''objetos'''. | ||
| + | * Los '''objetos''' son el elemento básico y central de la '''programación orientada a objetos (OOP o POO)'''. | ||
| + | {{Nota|Cada objeto en el programa representa algo del mundo real: | ||
| + | una persona, una cuenta bancaria, un pedido, una factura, etc.}} | ||
| + | |||
| + | * Podemos hablar de un '''universo de discurso''', entendido como el sistema que queremos automatizar mediante software. | ||
| + | * Un '''objeto''' es una entidad (concreta o abstracta) que desarrolla una actividad en un entorno determinado, dentro de un universo de discurso específico. | ||
{{MRM_Definicion| | {{MRM_Definicion| | ||
| − | + | '''Objeto:''' cada elemento activo que identificamos dentro de un determinado universo de discurso. | |
| − | ;Serán nuestros componentes software para construir y ensamblar nuestros programas. | + | ;Serán nuestros componentes ''software'' para construir y ensamblar nuestros programas. |
}} | }} | ||
{{MRM_Ejemplo| | {{MRM_Ejemplo| | ||
;En un banco hay cuentas bancarias (objeto): | ;En un banco hay cuentas bancarias (objeto): | ||
| − | :Las cuentas bancarias se identifican con un número y un titular (nombre, apellidos y DNI) → | + | :Las cuentas bancarias se identifican con un número y un titular (nombre, apellidos y DNI) → '''''atributos'''''. |
| − | :Las cuentas pueden darse de alta o de baja, hacer extracciones, ingresos y transferencias → | + | :Las cuentas pueden darse de alta o de baja, hacer extracciones, ingresos y transferencias → '''''métodos'''''. |
}} | }} | ||
| Línea 28: | Línea 37: | ||
* Facturas | * Facturas | ||
* Pedidos | * Pedidos | ||
| − | [[Archivo: | + | [[Archivo:UNIVERSO_DISCUROS_OBJETOS.png|500px]] |
}} | }} | ||
| Línea 35: | Línea 44: | ||
}} | }} | ||
| − | * Puede parecer una forma más compleja de programar, pero en realidad es una manera de | + | * Puede parecer una forma más compleja de programar, pero en realidad es una manera de '''dividir la naturaleza del problema''' en '''unidades independientes''' que pueden interactuar entre sí. |
| − | * Cada una de ellas tendrá una | + | * Cada una de ellas tendrá una '''identidad propia''', definida por los valores de sus '''atributos'''. |
| − | * Cada una tendrá también un | + | * Cada una tendrá también un '''comportamiento concreto''', es decir, lo que sabe hacer y que el resto del programa o de los objetos podrá utilizar. |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
<!--1 --> | <!--1 --> | ||
| − | + | === Elementos en la Programación Orientada a Objetos === | |
| − | + | ||
| − | + | ||
| − | + | * De lo dicho anteriormente deducimos que en la POO tenemos dos elementos fundamentales: | |
| + | # Los '''''atributos''''' o características de la clase. | ||
| + | # Los '''''métodos''''' o comportamientos de la clase. | ||
| − | + | * Para crear objetos, previamente hay que '''definir su estructura'''. | |
| − | + | * La definición de la estructura '''(atributos y métodos)''' de los componentes ''software'' se denomina '''''clase'''''. | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
{{MRM_Definicion|Title=Clase| | {{MRM_Definicion|Title=Clase| | ||
| − | ;La descripción y especificación de | + | ;La descripción y especificación de los componentes ''software'' para su posterior uso en los programas. |
| − | *'''Una clase''' es la estructura | + | * '''Una clase''' es la estructura o plantilla que define un tipo concreto de objetos. |
| − | *'''Los objetos''' son elementos concretos | + | * '''Los objetos''' son elementos concretos de mi sistema: instancias de esa clase, cargadas en memoria para ser utilizadas por un programa. |
}} | }} | ||
| − | + | ;Elementos de la POO | |
| − | + | {{MRM_Definicion|Title=Atributo| | |
| − | {{MRM_Definicion| Title= Atributo| | + | * Son las características o datos de un objeto. |
| − | *Son las características o datos de un objeto. | + | * Sus valores determinan el '''estado''' del objeto en un momento dado. |
| − | *Sus valores | + | * Normalmente, al instanciar un objeto en memoria, lo primero que hacemos es asignar valores a sus atributos. |
| − | *Normalmente al instanciar un objeto en memoria lo primero que hacemos es | + | * Es recomendable que los atributos estén '''encapsulados''', es decir, que sólo sean accesibles dentro del propio objeto (''privados''). |
| − | *Es | + | |
}} | }} | ||
| − | + | {{MRM_Definicion|Title=Método| | |
| − | + | * Especifican el '''comportamiento''' de los objetos. | |
| − | + | * Permiten modificar o conocer el estado de un objeto mediante '''''métodos getter y setter'''''. | |
| − | + | * Permiten que un objeto realice acciones dentro del sistema y se comunique con otros objetos. | |
| − | + | * '''''Los métodos''''' representan las acciones que el objeto sabe hacer, los '''''servicios''''' que ofrece al sistema. | |
| − | {{MRM_Definicion| Title= | + | * También pueden incluir acciones internas que facilitan el funcionamiento del propio objeto. |
| − | *Especifican el '''comportamiento''' de los | + | * En PHP, los métodos se definen dentro de la clase y se invocan mediante el operador '''->'''. |
| − | *Permiten modificar | + | |
| − | *Permiten que un objeto | + | |
| − | *'''''Los métodos''''' | + | |
| − | *También | + | |
}} | }} | ||
[[Archivo:clase.png|300px]] | [[Archivo:clase.png|300px]] | ||
| − | |||
| − | |||
Última revisión de 19:42 5 nov 2025
Contenido
Conceptos básicos de la Programación Orientada a Objetos (OOP o POO)
Conceptos básicos de la Programación Orientada a Objetos (OOP o POO)
OOP vs. Programación estructurada
- La programación orientada a objetos (POO) surge como una evolución de la programación estructurada.
- Busca modelar los problemas del mundo real utilizando objetos que combinan datos y comportamientos.
- En programación, el paradigma imperativo se basa en funciones y datos.
- El paradigma orientado a objetos se basa en objetos.
- Los objetos son el elemento básico y central de la programación orientada a objetos (OOP o POO).
(
: Cada objeto en el programa representa algo del mundo real:
una persona, una cuenta bancaria, un pedido, una factura, etc.)
- Podemos hablar de un universo de discurso, entendido como el sistema que queremos automatizar mediante software.
- Un objeto es una entidad (concreta o abstracta) que desarrolla una actividad en un entorno determinado, dentro de un universo de discurso específico.
|
Objeto: cada elemento activo que identificamos dentro de un determinado universo de discurso.
|
Ejemplo
| |
|
Ejemplo
| |
|
- Puede parecer una forma más compleja de programar, pero en realidad es una manera de dividir la naturaleza del problema en unidades independientes que pueden interactuar entre sí.
- Cada una de ellas tendrá una identidad propia, definida por los valores de sus atributos.
- Cada una tendrá también un comportamiento concreto, es decir, lo que sabe hacer y que el resto del programa o de los objetos podrá utilizar.
Elementos en la Programación Orientada a Objetos
- De lo dicho anteriormente deducimos que en la POO tenemos dos elementos fundamentales:
- Los atributos o características de la clase.
- Los métodos o comportamientos de la clase.
- Para crear objetos, previamente hay que definir su estructura.
- La definición de la estructura (atributos y métodos) de los componentes software se denomina clase.
|
- Elementos de la POO
|
|