Diferencia entre revisiones de «Plantilla:PHP/ConceptosBasicos»
De WikiEducator
(→Programación orientada a objetos) |
(→Elementos en la Programación Orientada a Objetos) |
||
| (15 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)=== | |
| − | ===Programación | + | |
| − | *En programación ''el paradigma imperativo'' | + | === Conceptos básicos de la Programación Orientada a Objetos (OOP o POO) === |
| − | *''El paradigma orientado a objetos'' | + | |
| − | *Los '''objetos''' son el elemento básico y central de '' | + | ==== OOP vs. Programación estructurada ==== |
| − | *Podemos hablar de ''universo de discurso'' como el sistema que queremos automatizar | + | |
| − | *Un ''' | + | *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'''. | |
| − | {{MRM_Definicion| '''Objeto''' | + | * ''El paradigma orientado a objetos'' se basa en '''objetos'''. |
| − | ;Serán nuestros componentes software para ensamblar nuestros programas | + | * 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| | ||
| + | '''Objeto:''' cada elemento activo que identificamos dentro de un determinado universo de discurso. | ||
| + | ;Serán nuestros componentes ''software'' para construir y ensamblar nuestros programas. | ||
}} | }} | ||
| − | + | ||
| − | + | ||
| − | + | ||
{{MRM_Ejemplo| | {{MRM_Ejemplo| | ||
| − | ;En un banco hay cuentas bancarias | + | ;En un banco hay cuentas bancarias (objeto): |
| − | :Las cuentas bancarias | + | :Las cuentas bancarias se identifican con un número y un titular (nombre, apellidos y DNI) → '''''atributos'''''. |
| − | :Las cuentas | + | :Las cuentas pueden darse de alta o de baja, hacer extracciones, ingresos y transferencias → '''''métodos'''''. |
}} | }} | ||
| + | |||
{{MRM_Ejemplo| | {{MRM_Ejemplo| | ||
;En la gestión de una empresa, a nivel de información tenemos: | ;En la gestión de una empresa, a nivel de información tenemos: | ||
| − | *Empleados | + | * Empleados |
| − | * | + | * Nóminas |
| − | * | + | * Bases de datos |
| − | *Proveedores | + | * Proveedores |
| − | *Facturas | + | * Facturas |
| − | *Pedidos | + | * Pedidos |
| − | [[Archivo:UNIVERSO_DISCUROS_OBJETOS.png]] | + | [[Archivo:UNIVERSO_DISCUROS_OBJETOS.png|500px]] |
}} | }} | ||
| − | + | {{MRM_Ejemplo|Title=Comparativa con la aplicación del juego Mastermind| | |
| + | [[Archivo:comparativa_oo_estructurado.png|center|600px]] | ||
| + | }} | ||
| + | |||
| + | * 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. | ||
| + | |||
| + | |||
<!--1 --> | <!--1 --> | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | ===Elementos en la | + | === Elementos en la Programación Orientada a Objetos === |
| − | *De lo dicho anteriormente deducimos que tenemos | + | |
| − | #Los '''''atributos''''' o características de la clase. | + | * De lo dicho anteriormente deducimos que en la POO tenemos dos elementos fundamentales: |
| − | #Los '''''métodos''''' o | + | # Los '''''atributos''''' o características de la clase. |
| − | *Para crear objetos, previamente hay que '''definir su estructura'''. | + | # Los '''''métodos''''' o comportamientos de la clase. |
| − | *La definición de la estructura '''(atributos y métodos )''' de | + | |
| + | * 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 | ;Elementos de la POO | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| + | {{MRM_Definicion|Title=Atributo| | ||
| + | * Son las características o datos de un objeto. | ||
| + | * Sus valores determinan el '''estado''' del objeto en un momento dado. | ||
| + | * Normalmente, al instanciar un objeto en memoria, lo primero que hacemos es asignar valores a sus atributos. | ||
| + | * Es recomendable que los atributos estén '''encapsulados''', es decir, que sólo sean accesibles dentro del propio objeto (''privados''). | ||
| + | }} | ||
| − | + | {{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. | |
| − | {{MRM_Definicion| Title= | + | * '''''Los métodos''''' representan las acciones que el objeto sabe hacer, los '''''servicios''''' que ofrece al sistema. |
| − | *Especifican el '''comportamiento''' de los | + | * También pueden incluir acciones internas que facilitan el funcionamiento del propio objeto. |
| − | *Permiten modificar | + | * En PHP, los métodos se definen dentro de la clase y se invocan mediante el operador '''->'''. |
| − | *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
|
|