Download METODOLOGIA DEL DESARROLLO DE SISTEMAS ORIENTADOS

Document related concepts

Polimorfismo (informática) wikipedia , lookup

Objeto inmutable wikipedia , lookup

Visitor (patrón de diseño) wikipedia , lookup

Scala (lenguaje de programación) wikipedia , lookup

Dylan (lenguaje de programación) wikipedia , lookup

Transcript
METODOLOGIA DEL DESARROLLO DE SISTEMAS
ORIENTADOS A OBJETOS
PROGRAMACIÓN ORIENTADA
A OBJETOS
Es una forma de diseño modular en la que, con
frecuencia, el mundo se piensa en términos de objeto,
operaciones, métodos y mensajes, que se transfieren
entre tales objetos.
Como podrá comprobar, un objeto (definido
gráficamente) tiene tres partes impartes importantes:
· Un título: Que figura en la caja superior e indica como se llama
el objeto, que será utilizado como identificador de este objeto en
el caso de que sirva como elemento en la construcción de
elementos más complicados.
Los atributos: Los atributos o variables que definen
el objeto se colocarán debajo del título.
Las operaciones:
También
métodos, ocupan el nivel inferior.
conocidas
como
¿Qué es una clase?

Una clase es una estructura preliminar que describe un
objeto y define atributos y operaciones para el objeto

Las clases utilizan abstracción para poner a
disposición únicamente los elementos esenciales que
definen el objeto
Las clases utilizan encapsulación para garantizar que
se cumple una abstracción
Lo que ve el usuario: Lo que está encapsulado:

//verify language
//authenticate PIN
//validate account bal
//adjust account bal
¿Qué es un objeto?

Un objeto es una instancia de una clase

Los objetos tienen las siguientes cualidades:

Identidad: los objetos se distinguen uno de otro

Comportamiento: los objetos pueden realizar tareas

Estado: los objetos almacenan información que puede
cambiar con el tiempo
Clase
Objet
o
12
123
245
245
Objet
o
Herencia
La herencia nos permite crear estructuras jerárquicas
de clases donde es posible la creación de sub-clases
que incluyan nuevas propiedades y atributos.
Clase
Es una implantación de un tipo de objeto. Especifíca
una estructura de datos y los métodos operativos
permisibles que se aplican a cada uno de sus objetos.
Metodos
Especifica la forma en que se controlan los datos de
un objeto
Encapsulamiento
Es el resultado de ocultar los detalles de implantación
de un objeto respecto de su usario.
Percepción y realidad
Con el software jugamos con la realidad. Podemos
hacer que algo muestre cierto comportamiento cuando
en realidad sea muy distinto. Podemos crear una
interfaz sencilla para algo complejo y ocultar asi la
complejidad.
HERENCIA
VEHÍCULO
COCHE
FURGONETA
CAMIÓN
DISEÑO
·Durante esta fase se analizan las especificaciones
iniciales y surgen los primeros objetos, normalmente
ligados a las características de la aplicación.
BENEFICIOS DE LA PROGRAMACIÓN
ORIENTADOS A OBJETOS
Reutilización: Para minimizar la reutilización las
clases se construyen de modo que se puedan adaptar.
Confiabilidad: Es probable que el software construido
a partir de clases estables ya probadas tengan menos
fallas que el software elaborado a partir de cero.
Programación mas sencilla:
Los programas se
conjuntan a partir de piezas pequeñas cada una de las
cuales, en general se puede crear fácilmente.
BENEFICIOS DE LA PROGRAMACIÓN
ORIENTADOS A OBJETOS
Mantenimiento mas sencillo: El programador
encargado del mantenimiento cambia un metodo de
la clase a la vez.
Un diseño mas rápido: Las aplicaciones se crean
a partir de componentes ya existentes.
Estabilidad:
Las clases diseñadas para una
reutilización repetida se vuelven estables, de la
misma manera que los microprocesadores y otros
chips se hacen estables.
BENEFICIOS DE LA PROGRAMACIÓN
ORIENTADOS A OBJETOS
Integridad: Las estructuras de datos solo se
pueden utilizar con métodos específicos. Esto tiene
particular importancia en los sistemas cliente despachador y los sistemas distribuidos en los que
usuarios desconocidos podrían intentar el acceso al
sistema.
Diseño de mayor calidad: Los diseños suelen
tener mayor calidad, puesto que se integran a partir
de componentes probados, que han sido verificados
y pulidos varias veces.
LENGUAJES ORIENTADOS A OBJETOS
Los lenguajes OOP implementan de manera distinta
los conceptos de programación orientada a objetos.
No existe el lenguaje perfecto capaz de satisfacer
todas las necesidades y que se adapte a todos los
estilos.
CARACTERÍSTICAS DE LOS LENGUAJES OOP
Enumeraremos una serie de características comunes a
los lenguajes OOP y que son los factores a considerar a
la hora de su elección.
Herencia múltiple
Esta característica suele ser común a la mayoría de los
lenguajes OOP, auque introduce un problema al existir la
posibilidad de que el objeto sucesor herede el mismo atributo,
aunque con distinto tipo y valor, de más de un predecesor,
alguno de los lenguajes de programación solucionan este
problema de forma automática.
Eficiencia
Usando un buen lenguaje orientado a objetos como C++
junto con las librerías apropiadas para la realización de
un programa, puede que se ejecute más rápidamente
que el mismo programa compilado con el lenguaje
procedural.
Asignación de tipos
Por asignación de tipos entendemos que cada variable
sea identificada como perteneciente a una clase
(asignación fuerte) o sea simplemente un objeto
indeterminado (asignación débil).
Manejo de memoria
Los OOP son lenguajes que utilizan de manera intensiva la
memoria de ordenador.
Encapsulación
Consiste en separa aquellos atributos del objeto que
deben ser conocidos por el resto de aquellos
necesarios para su funcionamiento propio