Aprendiz JOHN ALEXANDER MIRANDA
PROGRAMACION ORIENTADA A
OBJETOS
Tecnología Análisis y Desarrollo Sistemas de Información
III trimestre 2015
La P.O.O (también conocida como O.O.P., por sus siglas en inglés) es lo que se conoce como un paradigma o modelo de programación. Esto significa que no es un lenguaje específico, o una tecnología, sino una forma de programar. Definiéndola así mismo como una metodología de diseño de software que define los programas en términos de “clases de objetos”.
Programación Orientada a Objetos
Objetos que son entidades que combinan un estado (es decir; los datos) y un comportamiento (es decir procedimientos o métodos).
La programación orientada a objetos expresa un programa como un conjunto de estos objetos, que se comunican entre ellos, para realizar tareas.
La P.O.O., es diferente de los Lenguajes de programación anteriores en los que los datos y los procedimientos estaban por separado.
POO
Paradigma
Teorías
Estándares
Modelos
Utiliza Objetos y sus
interacciones
Diseño aplicaciones
programas pc
Lenguajes Orientados a objetos
Programación Orientada a Objetos
Basado en
Objetos
Basado en
Clases
Herencia de
Clases
Programación Orientada a ObjetosAbstracción:
•Generalización conceptual de un determinado conjunto de objetos y de sus atributos y propiedades Abstracción
•Deja en segundo término los detalles concretos de cada objeto.
Polimorfismo:
•Acceso a un grupo de funciones a través de la misma interfaz Herencia Polimorfismo
•Un identificador puede tener distintas formas (distintos cuerpos de función y comportamiento) POO.
Modularidad:
•Propiedad de un sistema descompuesto en un conjunto de módulos cohesivos débilmente acoplados
Encapsulamiento:
•Capacidad de agrupar y condensar en un entorno con límites bien definidos distintos elementos Encapsulamiento.
•Se hace referencia a encapsulamiento abstracto.
Herencia:
•Es un tipo de jerarquía aplicada sobre las clases
•Las clases tienen descendencia y heredan atributos de clases “padres” (Superclases) •Existe la herencia simple y la múltiple
Definición de un Objeto
Elementos de la vida real Problema
Objeto
Abstracción
DeEn el dominio del
ATRIBUTOS
•Caracterizan al Objeto
•Variables que almacenan datos relacionados al estado de un objeto
Método
•Caracterizan el comportamiento del objeto
•Hacen posible que el objeto responda a solicitudes externas
•Pueden depender o modificar valores de los atributos
Identidad
•Es lo que le diferencia de los demás objetos
•Esta identidad se crea mediante un identificador
Entidad Real o
Abstracta
Representa
Instancia
Clase
De
Es
Objeto
Paradigma Estructurado• Variables
Paradigma POO• Objetos
Relación con otros paradigmas
Componentes
Representa
Definición de una Clase
Conjunto de Objetos
Estructura y comportamient
os
Que Compar
ten
Clase
Es
Abstracción
Representa
De
Atributos (Estado)
Métodos o
Procesos
Clase
Plantilla Instancia
ObjetoEs una instancia de
la clase
Ya está definido, con
características particulares
ClaseEs la definición de un
tipo de objeto
Representa la abstracción de las
características de un grupo de objetos
Componentes
Perro chihuahua
De
De
Son
Clase: Perro
Perro Pitbull
Perro Bulldog ingles
Programación Estructurada
Programación Estructurada
• La programación estructurada establece un orden particular.
• Maneja por separado al código y a las estructuras de datos
• Los algoritmos trabajan sobre las estructuras de control.
• Este tipo de programación da mayor importancia al código que a
las estructuras de datos.
Algoritmos + Estructuras de Datos = Programas
Programación Orientada a Objetos
Clase: CarroAtributos:MarcaModelocolorMétodos:CombustiónFrenarAcelerar
Objeto1Atributos:Ford2014verde
Instancias de la Clase Carro
Objeto 2Atributos:Chevrolet2015rojo
Objeto 3Atributos:Toyota2012plateado
Programación Orientada a Objetos
• La POO fue concebida por quienes reconocían el mundo como poblado de objetos que interactuaban entre si de acuerdo a su naturaleza.
• Los procedimientos aplicados a los objetos depende de la naturaleza de los mismos, por ejemplo no se puede imprimir un auto, no se puede conducir un foco, etc. estas acciones son inapropiadas porque no forman parte del comportamiento natural de los objetos.
Datos + Código = Objeto
conclusiones
• La programación estructurada consta, como su nombre lo indica, de una estructura donde se va ejecutando paso a paso y este debe de tener una secuencia y una lógica para que su función sea eficiente.
• La programación orientada a objetos se basa en una nueva forma de pensar los problemas, declarando como variables o los tipos de datos los objetos del problema, y que a su ves, cada objeto tiene anidadas variables que hacen referencia al dato.
• La programación orientada a objetos es más moderna, es la evolución de la programación estructurada que plasma en el diseño de una familia de lenguajes conceptos que existían previamente con algunos nuevos.
DIFERENCIA ENTRE LA PROGRAMACIÓN ESTRUCTURADA, ORIENTADA A OBJETOS
• La programación orientada a objetos se basa en lenguajes que soportan sintáctica y semánticamente la unión entre los tipos abstractos de datos y sus operaciones (a esta unión se la suele llamar clase).
• La programación orientada a objetos incorpora en su entorno de ejecución mecanismos tales como el polimorfismo y el envío de mensajes entre objetos.
• La programación estructurada pretende resolver un problema de principio a fin en una sola estructura de código. La programación orientada a objetos, resuelve el problema identificando los actores que tienen participación en el problema e identificando también sus acciones. Con esta información se crean los objetos (que son una interpretación de algunos de estos actores), estos objetos están compuestos por clases donde se detalla las acciones que realizan y las propiedades de estos. Al tener creados los objetos solo es ponerlos a interactuar entre ellos.