Qué es la poo
Transcript of Qué es la poo
¿Qué es la POO?
Para comprender bien la POO debemos olvidar un poco la Programación Estructurada.
La Programación Orientada a Objetos trata de utilizar una visión real del mundo dentro de
nuestros programas.
Las siglas POO significan Programación Orientada a Objetos, o en inglés OOP (Object
Oriented Programming).
La visión que se tiene del mundo dentro de la POO es que se encuentra formado por objetos.
Objetos
Los objetos en la vida real tienen dos características: estado y comportamiento.
El estado de un objeto viene definido por una serie de parámetros que lo definen y que lo diferencian de
objetos del mismo tipo
El comportamiento viene definido por las acciones que pueden realizar los objetos permitiendo distinguir a
objetos de distinto tipo.
Los parámetros o variables que definen el estado de un objeto se denominan atributos o variables miembro
y las acciones que pueden realizar los objetos se denominan métodos o funciones miembro.
Encapsulación
Es el hecho de ocultar la implementación interna de un objeto, es decir, como está construido y de que se compone.
La encapsulación presenta varios beneficios, entre los que destacan la modularidad y la ocultación de la información.
Abstracción
Capacidad de ignorar determinados aspectos de la realidad con el fin de facilitar la realización de una tarea.
También nos permite ignorar los aspectos de implementación de los objetos en los pasos iniciales, con lo cual sólo necesitamos conocer qué es lo que hace un objeto, y no cómo lo hace, para definir un objeto y establecer las relaciones de éste con otros objetos.
Mensajes
El comportamiento de un objeto está reflejado en los mensajes a los que dicho objeto puede responder.
Representan las acciones que un determinado objeto puede realizar.
Un mensaje enviado a un objeto representa la invocación de un determinado método sobre dicho objeto.
Para enviar un mensaje se necesitan tres elementos: el objeto al que se le va a enviar el mensaje, el nombre del
método que se debe ejecutar y los parámetros necesarios para el método en cuestión.
Polimorfismo
El término polimorfismo expresa la posibilidad de que el mismo mensaje, enviado a objetos distintos, ejecute métodos distintos. Esto significa que podemos definir dentro de dos clases distintas dos operaciones con el mismo nombre y aspecto externo, pero con distintas implementaciones para cada clase.
Sobrecarga
La sobrecarga de métodos se produce cuando una clase tiene métodos con el mismo nombre pero
que difieren o bien en el número o en el tipo de los parámetros que reciben dichos métodos.
Clases
Una clase es un molde o prototipo que define un tipo de objeto determinado. Una clase define los atributos y
métodos que va a poseer un objeto.
La clase la vamos a utilizar para definir la estructura de un objeto, es decir, estado (atributos) y comportamiento
(métodos).
Una vez implementada una clase podremos realizar instancias de la misma para crear objetos que pertenezcan a
esa clase.
HerenciaLa herencia es un mecanismo mediante el cual podemos
reutilizar clases ya definidas.
La herencia dentro de la POO es un mecanismo fundamental que se puede definir también como una transmisión de las
características de padres a hijos.
Entendiendo aquí características como métodos y atributos de una clase. La clase hija puede añadir atributos, métodos y
redefinir los métodos de la clase padre.
La clase de la que se hereda se suele denominar clase padre o superclase, y la clase que hereda se denomina clase hija o
subclase.
Herencia
Mediante el mecanismo de herencia podemos definir superclases denominadas clases abstractas que definen comportamientos genéricos. De esta clase pueden heredar otras clases que ya implementan de forma más concreta estos comportamientos.
Los métodos que se heredan de la clase padre no tienen porqué utilizarse sin realizar ningún cambio, se puede llevar a cabo lo
que se denomina la sobrescritura de métodos.
Podemos heredar un método de la clase padre, pero en la clase hija le podemos dar una implementación diferente para que se
adecue a la nueva clase.
La herencia puede ser simple si la clase hija hereda de una única clase padre o múltiple si hereda de varias clases padre.
Métodos
Los métodos son las acciones que se pueden realizar con los objetos.
También se podría definir un método como la implementación de un mensaje, al fin y al cabo, un mensaje
es la llamada o invocación de un método de un objeto.
Existen dos métodos especiales dentro de la POO que se denominan constructor y destructor.
Ventajas de la POO
• Facilita la reutilización del software a través de la herencia, la encapsulación y el polimorfismo que son las herramientas más potentes del paradigma de la POO.
• Facilita la construcción de programas portables.
• Facilita el mantenimiento.
• Provoca que las tareas de análisis, diseño e implementación sean más intuitivas, ya que se manejan objetos.
Inconvenientes de la POO
• Curvas de aprendizaje largas, debido principalmente a que implica un cambio mentalidad, y no sólo el aprender un nuevo lenguaje.
• Dificultad en determinar las características de un objeto.
• Jerarquías de herencia complejas.