Diferencia entre revisiones de «Plantilla:PHP/ConceptosBasicos»

De WikiEducator
Saltar a: navegación, buscar
(Elementos en la Programación Orientada a Objetos)
 
(19 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) ===
 +
 +
==== 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)'''. 
 +
{{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.
 +
}}
  
===Programación orientada a objetos===
 
*En programación el paradigma imperativo está basado en funciones y datos,
 
*El paradigma orientado a objetos está basado en Objetos.
 
*Los '''objetos''' son el elemento básico y central de la programación orientada a objetos (OOP) o (POO)
 
*Podemos hablar de ''universo de discurso'' como el sistema que queremos automatizar por software
 
*Un Objeto es una entidad (concreta o abstracta) que presenta una actividad en un entorno  concreto, en un determinado universo de discurso.
 
<br/>
 
</div>
 
<!--1 -->
 
<div class="slide">
 
{{MRM_Definicion| '''Objeto''' Cada elemento activo''' que identificamos dentro de un determinado universo de discurso.
 
*Serán nuestros componentes software para ensambar nuestros programas}}
 
</div>
 
<!--1 -->
 
<div class="slide">
 
 
{{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, apellido y dni) '''''atributos'''''
+
:Las cuentas bancarias se identifican con un número y un titular (nombre, apellidos y DNI) '''''atributos'''''
:Las cuentas se pueden dar de alta, de baja, hacer extracciones e ingresos y transferencias... '''''métodos'''''
+
:Las cuentas pueden darse de alta o de baja, hacer extracciones, ingresos y transferencias '''''métodos'''''.
 
}}
 
}}
</div>
+
 
 +
{{MRM_Ejemplo|
 +
;En la gestión de una empresa, a nivel de información tenemos:
 +
* Empleados 
 +
* Nóminas 
 +
* Bases de datos 
 +
* Proveedores 
 +
* Facturas 
 +
* Pedidos 
 +
[[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 -->
<div class="slide">
+
 
*Puede parecer una forma más complicada de programar, pero es una manera de dividir la naturaleza del problema que estamos estudiando en unidades independientes que pueden  interactúar entre ellas.
+
=== Elementos en la Programación Orientada a Objetos ===
*Cada una de ellas va a tener una identidad propia asignando valores a sus atributos
+
 
*Cada una de ellas va a tener un comportamiento concreto que va a ser lo que sabe hacer para que los demás o el programa principal lo utilice
+
* De lo dicho anteriormente deducimos que en la POO tenemos dos elementos fundamentales:
<!--1 -->
+
# Los '''''atributos''''' o características de la clase.
</div>
+
# Los '''''métodos''''' o comportamientos de la clase.
<!--1 -->
+
 
<div class="slide">
+
* Para crear objetos, previamente hay que '''definir su estructura'''.
===Elementos en la programación orientada a objetos===
+
* La definición de la estructura '''(atributos y métodos)''' de los componentes ''software'' se denomina '''''clase'''''.
*De lo dicho anteriormente deducimos que tenemos dos elementos:
+
 
#Los '''''atributos''''' o características de la clase.
+
#Los '''''métodos''''' o comportamiento de la clase .
+
*Para crear objetos, previamente hay que definir su estructura.
+
*La definición de la estructura (atributos y métodos ) de componentes software se llama '''''clase '''''
+
 
{{MRM_Definicion|Title=Clase|
 
{{MRM_Definicion|Title=Clase|
La descripción y especificación de componentes software para su posterior uso en los programas}}
+
;La descripción y especificación de los componentes ''software'' para su posterior uso en los programas
*Una clase es la estructura de un tipo concreto de objetos.
+
* '''Una clase''' es la estructura o plantilla que define un tipo concreto de objetos.
*Los objetos son elementos concretos en mi sistema. Instancias de la clase en memoria para ser usadas por un programa
+
* '''Los objetos''' son elementos concretos de mi sistema: instancias de esa clase, cargadas en memoria para ser utilizadas por un programa.
</div>
+
}}
<!--1 -->
+
 
<div class="slide">
+
 
;Elementos de la POO
 
;Elementos de la POO
{{MRM_Definicion| Title= Atributo|
+
 
*Son las características o datos de un objeto.  
+
{{MRM_Definicion|Title=Atributo|
*Sus valores nos da el estado de un objeto en un momento dado.
+
* Son las características o datos de un objeto.
*Normalmente al instanciar un objeto en memoria lo primero que hacemos es dar valores a sus atributos
+
* Sus valores determinan el '''estado''' del objeto en un momento dado.
*Es recomendado que los atributos entén encapsulados solo al objeto (privados)
+
* 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. 
 +
* '''''Los métodos''''' representan las acciones que el objeto sabe hacer, los '''''servicios''''' que ofrece al sistema. 
 +
* También pueden incluir acciones internas que facilitan el funcionamiento del propio objeto. 
 +
* En PHP, los métodos se definen dentro de la clase y se invocan mediante el operador '''->'''.
 
}}
 
}}
</div>
 
<!--1 -->
 
<div class="slide">
 
;Elementos de la POO
 
{{MRM_Definicion| Title= métodos|
 
*Especifican el comportamiento de los objetos
 
*Permiten modificar y conocer el estado de un objetos (métodos getter and setter)
 
*Permiten que un objeto haga cosas en el sistema (comunicación entre objetos)
 
*'''''Los métodos''''' son las acciones  que el objeto sabe hacer,  '''''servicios''''' que ofrece
 
*También son las acciones internas para  facilitar las acciones al objeto
 
  
 
[[Archivo:clase.png|300px]]
 
[[Archivo:clase.png|300px]]
</div>
 
<!--1 -->
 
<div class="slide">
 

Última revisión de 19:42 5 nov 2025

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).

(Comment.gif: 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.



Icon define.gif
Definición

Objeto: cada elemento activo que identificamos dentro de un determinado universo de discurso.

Serán nuestros componentes software para construir y ensamblar nuestros programas.




Icon casestudy.gif
Ejemplo
En un banco hay cuentas bancarias (objeto)
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 → métodos.




Icon casestudy.gif
Ejemplo
En la gestión de una empresa, a nivel de información tenemos
  • Empleados
  • Nóminas
  • Bases de datos
  • Proveedores
  • Facturas
  • Pedidos

UNIVERSO DISCUROS OBJETOS.png




Icon casestudy.gif
Comparativa con la aplicación del juego Mastermind
Comparativa oo estructurado.png



  • 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:
  1. Los atributos o características de la clase.
  2. 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.



Icon define.gif
Clase
La descripción y especificación de los componentes software para su posterior uso en los programas.
  • Una clase es la estructura o plantilla que define un tipo concreto de objetos.
  • 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



Icon define.gif
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).




Icon define.gif
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.
  • También pueden incluir acciones internas que facilitan el funcionamiento del propio objeto.
  • En PHP, los métodos se definen dentro de la clase y se invocan mediante el operador ->.


Clase.png