You are on page 1of 7

I UNIDAD

EL SOFTWARE: es un conjunto de instrucciones que cuando se ejecutan proporcionan las


caractersticas, funcin y desempeos buscados.
PARADIGMA ORIENTADO A OBJETOS: para este paradigma lo principal es entender y
modelar el problema, y luego si definir el bloque de cdigo principal que empleando el
modelo definido brinde solucin al problema especifico.
Qu significa modelar?
Un modelo es una representacin simplificada. Incluye
caractersticas que se consideran importantes para el que lo usa, a la vez que desecha
otras que no lo son. Ejemplo: un modelo de coche de plstico para nios muestra los
detalles del exterior y de las ruedas pero obvia por completo el motor y la transmisin.
PROGRAMACION ORIENTADA A OBJETOS (POO) es un Paradigma de programacin que
define los programas en trminos de objetos. Facilitan el mantenimiento y reutilizacin.
Caractersticas de la POO:
1. Abstraccin:
Representar caractersticas esenciales de un objeto sin preocuparse de las restantes
caractersticas.
Visin externa, sin inspeccionar la implementacin.
Clase como descripcin abstracta datos y operaciones a realizar.
Ejemplo: celular - estado: marca, modelo
-operaciones: llamar, colgar
2. Encapsulacin
Ocultacin de informacin al mundo exterior. Ocultar todo lo secreto de un objeto
que no contribuye a sus caractersticas esenciales.
Vinculado a la divisin modular.
Cada mdulo representa la encapsulacin de una abstraccin:
interfaz como vista externa.
implementacin como vista interna.
3. Modularidad
Dividir una aplicacin en partes ms pequeas.
Independientes (lo mximo posible).
Permite la descomposicin en mdulos fuertemente
cohesionados y dbilmente acoplados.
4. Jerarqua
Ordenacin de las abstracciones. Estructuras de clases en herencia:
relacin es-un. jerarquas de especializacin/generalizacin: Herencia.
Estructuras de objetos en relacin de agregacin
relacin parte-de: composicin
Ejemplo: un coche compuesto de motor, rueda y puerta.
5. Polimorfismo
Una entidad toma muchas formas.
Permite referirse a objetos de clases distintas mediante el mismo elemento de programa.
Realizar la misma operacin de diferentes formas segn sea el objeto que referencia en
ese momento.
Ligadura dinmica
-Ejemplo: un perro, un gato y una vaca son animales, pueden ser Manejados como tal; y
todos pueden emitir sonidos, aunque cada uno tiene un sonido particular.
Objeto: es un concepto, abstraccin o cosas sin lmites bien definidos y con significado
dentro del programa. Es el concepto clave de la Programacin Orientada a Objetos, la idea
de objeto es similar a la del mundo real, un objeto puede ser una silla, una mesa. Un perro
es un objeto.
Los objetos tienen dos caractersticas: Un estado y un comportamiento. Por ejemplo: un
perro tiene un estado: nombre, color, raza, altura, etc. y un comportamiento: ladrar, cavar
pozo, llorar, dormir, comer, etc.
Clase una clase describe a un conjunto de objetos que comparten una estructura y un
comportamiento comn. Una clase es algo abstracto que define la "forma" del objeto, se

podra hablar de la clase como el molde o plantilla de los objetos. En el mundo real existen
objetos del mismo tipo, por ejemplo tu bicicleta es slo una ms de todas las bicicletas del
mundo. Entonces diramos que tu bicicleta es una instancia de la clase "Bicicleta". Todas las
bicicletas tienen los atributos: color, cantidad de cambios, dueo y mtodos: acelerar,
frenar, pasar cambio, volver cambio. Estructura:

package mipaquete;
import otros.paquetes;
[visibilidad] class MiClase {
[visibilidad][tipo de dato] nombreAtributo [=valor inicial];
[visibilidad][tipo de retorno] nombreMetodo(argumentos) {
}
}
ATRIBUTOS: es una propiedad que ayuda a describir un objeto, cada uno de los
elementos dentro de una clase recibe el nombre de atributo. Tipos de datos:
primitivo: corresponde a un tipo de dato predefinido por el lenguaje. De referencia:
corresponde a un objeto de una clase.

Diagrama de clases:

CONSTRUCTORES: mtodo que se ejecuta automticamente cuando se crea un objeto de


una clase, sirve para inicializar los miembros de la clase.
-Por omisin: cuando en una clase no se especifica ningn constructor, el compilador aade
un constructor publico por omisin sin parmetros.
-por defecto: no tiene parametos.
-con parametros.: tiene parmetros.
-constructores sobrecargados: se produce cuando en una misma clase se tienen 2 o mas
mtodos con el mismo nombre pero que se diferencian por el numero o tipo de sus
constructores.
MODIFICADORE DE ACCESO

HERENCIA Podemos definir la herencia como la Capacidad


de crear clases que
adquieran de Manera automtica los atributos y mtodos d otras clases q ya existen,
pudiendo al mismo tiempo aadir atributos y mtodos propios.
Ventajas: Reutilizacin de cdigo, Mantenimiento de Aplicaciones existentes
Nomenclatura y Reglas En POO, a la clase que va a ser heredada se le llama clase padre,
superclase o clase base, mientras que a la que hereda se le conoce como clase hija,
subclase o clase derivada. Estructura :..
public class SubClase extends SuperClase {
// cdigo de la subclase
}..
POLIMORFISMO
Es la caracterstica de la POO por la cual un objeto de una clase se comporta como objetos
de otras clases, permite programar en forma general en vez de especifica .
tipos: - Por reemplazo: Dos o ms clases diferentes con el mismo nombre del mtodo,
pero hacindolo de forma diferente.
-Por sobrecarga: Es el mismo nombre de mtodo ocupado varias veces, ejecutndolo de
diferente forma y diferencindose solamente por el argumento o paramtrico.
-Paramtrico: El polimorfismo paramtrico es la capacidad para definir varias funciones
utilizando el mismo nombre, pero usando parmetros diferentes (nombre y/o tipo).
variable polimrfica Una variable referencia es polimrfica cuando su tipo de declaracin
no coincide con el tipo del objeto al q referencia. En otras palabras q puede referenciar a
ms de un tipo de objeto.
mecanismos del polimorfismo
El casting o moldeo permite el uso de un objeto de una clase en lugar de otro de otra clase
con el que haya una relacin de herencia. Son dos mecanismos:
upcasting:es un mecanismo para manejar indistintamente objetos de las subclases como
si fuesen objetos de la clase base, Es implcito.
downcasting. es interpretar un objeto de una clase base como del mismo tipo que una
clase derivada suya. Conversin explcita.
Ventajas
-El polimorfismo hace posible que un usuario pueda aadir nuevas clases a una jerarqua
sin modificar o recompilar el cdigo escrito en trminos de la clase base.
- Permite programar a nivel de clase base utilizando objetos de clases derivadas
(posiblemente no definidas
an)Se puede aplicar tanto a funciones como a tipos de datos.
AGREGACIN Y COMPOSICION
Composicin Es un tipo de relacin entre dos objetos q tienen comunicacin persistente.
Se utiliza para expresar que un par de objetos tienen una relacin de dependencia para
llevar a cabo su funcin, de modo que uno de los objetos involucrados est compuesto por
el otro.
Agregacin Consiste en la agrupacin de una o ms clases dentro de otra.
- Jerarqua de agregacin. Relacin tiene-un, por ejemplo cada cuerpo humano tiene un
cerebro y tiene un corazn. -En una agregacin, las partes no son propiedad exclusiva del
todo.
Comparacin entre composicin y agregacin

CLASES INTERNAS
Se llama clase interna o clase anidada a una clase que se define en el interior de otra, la
cual recibe a su vez el nombre de clase contenedora o clase externa.A diferencia de las
clases de nivel superior las clases anidadas
se encuentran confinadas dentro de otra
clase.

Tipos:
esttica:

Tambin son conocidas con el nombre de clases anidadas. Las clases e interfaces internas
static tan slo
pueden ser creadas dentro de otra clase al mximo nivel, o lo que es lo mismo,
directamente en el bloque de definicin de la clase contenedora y no en un bloque ms
interno.
Miembro
Este tipo de clases es considerado un elemento ms de la clase externa, con lo cual puede
tener libre acceso a mtodos y
atributos de su clase externa (incluso
privados).Simplemente llamadas como clases internas. No se pueden llamar igual que la
clase externa.No podemos definir variables ni mtodos estticos dentro de este tipo de
clases, a no ser que sea alguna variable de tipo constante.
Locales
Estas son las clases que se declaran en el cuerpo de una funcin. Pueden ser referidos
solamente en el resto de la funcin. Pueden utilizar variables y los parmetros de la
funcin, pero solamente los locales que son declaradosfinal.
Annimas
Son muy similares a las clases locales, pero sin nombre. Como la clase no tiene nombre
slo se puede crear un nico objeto, ya que no pueden definir constructores. Definido en el
nivel de los mtodos. Se declaran dentro de un bloque del cdigo. No pueden tener un
constructor.
PATRONES DE DISEO
Definicion: es una solucin a un problema de diseo, para que una solucin sea
considerada como patrn debe cumplir 2 caracteristicas: 1. Haber comprobado su
efectividad resolviendo problemas similares en ocasiones anteriores. 2. Debe ser
reutilizable es decir es aplicable a diferentes problemas de diseo en distintas
circunstancias. Objetivos
* proporcionar catalogos de elementos reusables en el diseo de sistemas de software.
* Evitar la reiteracin en la bsqueda de soluciones a problemas ya conocidos y
solucionados anteriormente.
* Formalizar un vocabulario comn entre diseadores.
PATRON SINGLETON(patrn de construccion)
definicin:
tiene como objetivo asegurar que una clase solo posee ina instancia y proporcionar un
mtodo e clase nico que devuelva esta instancia.
caracteristicas

*Todos los objetos que utilizan una instancia de una clase Singleton utilizan la misma
instancia.
* Se implementa creando en nuestra clase un metodo que crea una instancia del objeto
slo si todava no existe alguna. Para asegurar que la clase no puede ser instanciada
nuevamente se regula el alcance del constructor (con atributos como protegido o privado).
Ventajas
*Una clase Singleton puede controlar cmo y cuando el cdigo cliente puede acceder a la
nica instancia.
* Una clase Singleton puede ser modificada fcilmente si los requerimientos cambian y la
aplicacin necesita limitar el nmero de instancias a un nmero diferente de uno.
PATRON MODELO VISTA CONTROLADOR
es un patrn que define la organizacin independiente del Modelo (Objetos de Negocio),
la Vista (interfaz con el usuario u otro sistema) y el Controlador (controlador del workflow
de la aplicacin).
Modelo:
Es un conjunto de clases que representan la informacin del mundo real que el sistema
debe procesar sin tener relacin con ninguna otra entidad de la aplicacin. Modelo de
dominio y modelo de aplicacin.
Vistas
Conjunto de clases que muestran al usuario la informacin contenida en el modelo. Una
vista esta asociada a un modelo, donde existen varias vistas para un mismo modelo.

Controlador:
Es un objeto que se encarga de dirigir el flujo del control de la aplicacin debido a
mensajes externos. El controlador tiene acceso al modelo y a las vistas. Es la capa
encargada de manejar y responder las solicitudes del usuario, procesando la informacin
necesaria y modificando el modelo en caso de ser necesario.
Ventajas:
-Sus vistas muestran informacin actualizada siempre
- Las modificaciones a las vistas no afectan en absoluto a los otros mdulos de la
aplicacin.
PATRN ABSTRACT FACTORY .(patrn de construccion)
definicin Es un patrn de diseo que nos permite delegar en una clase la
responsabilidad de crear objetos de otras clases, es decir, crear una familia de objetos. En
java se puede implementar haciendo uso de una interfaz o con una clase abstracta.
caractersticas
* A diferencia de otros patrn
es de diseopermite trabajar con objetos de distintas familias de manera que las familias
no se mezclen entre s, haciendo transparente el tipo de familia concreta que se est
usando.
* nos permite crear, mediante una interfaz, conjuntos o familias de objetos (denominados
productos) que dependen mutuamente y todo esto sin especificar cul es el objeto
concreto.
Estructura
a)ClienteLa clase que llamar a la factora adecuada ya que necesita crear uno de los
objetos que provee la factora, es decir, Cliente lo que quiere es obtener una instancia de
alguno de los productos.
b) Abstract Factory :Es la definicin de la interfaces de las factoras. Debe de proveer un
mtodo para la obtencin de cada objeto que pueda crear.
c) Factoras Concretas: Estas son las diferentes familias de productos
d) Producto Abstracto Definicin de las interfaces para la familia de productos
genricos.

e)Producto Concreto: Implementacin de los diferentes productos.


PATRONES DE DISEO BUILDER(patrn de construccion)
Definicin:
Este patrn permite separar la construccin de un objeto complejo de su representacin, de
modo que el mismo proceso de construccin pueda crear diferentes representaciones de
este objeto.
Caracteristicas
* Contiene valores por omisin (defaults)
* No contiene atributos con el modificador final
* El orden en que se ejecutan los mtodos no es determinante
Componentes:
Builder: Especifica la interfaz abstracta para crear las partes de un objeto Product.
ConcreteBuilder: Construye y monta las partes de un producto a travs de la
implementacin de la interfaz Builder, define y mantiene el registro de la representacin
que se crea y proporciona una interfaz para recuperar el Producto. Director: Construye el
objeto usando la interfaz Builder
Product: Representa al objeto complejo en construccin. El ConcreteBuilder construye la
representacin interna del producto y define el proceso con el que ser montado. Adems,
incluye las clases que definen las partes que constituyen el objeto (no olvidemos que es un
objeto complejo) incluyendo las interfaces para montar el resultado final. Este patrn es til
en alguno de los siguientes supuestos:
*Cuando el algoritmo para crear un objeto complejo puede independizarse de las partes
que componen el objeto y de cmo son ensambladas.
*Cuando el proceso de construccin debe permitir distintas representaciones para el objeto
que se construye.
PATRN DE DISEO ADAPTER (patrn de estructura)
DEFINICIN. Este patrn permite la cooperacin entre clases para extender sus
funcionalidades a clases de diferentes tipos, que no pueden usarlas por mecanismos
comunes como la herencia. tiene como objetivo convertir la interfaz de una clase existente
en la interfaz esperada por los clientes tambin existentes para que puedan trabajar de
forma conjunta.
Caractersticas
* Se utiliza para adaptar una interfaz en otra, es decir permite trabajar juntas a dos clases
con interfaces incompatibles. *Ofrece una gran reutilizacin de cdigo.
* Un objeto adapter proporciona la funcionalidad prometida por una interfaz si tener que
conocer la clase utilizada para implementar ese interfaz.
Participantes
CLIENTE.- Esta es una clase que llama a un mtodo de otra clase a travs de un interface
en regla que necesita no asumir que los objetos que lo llaman al mtodo pertenecen a una
clase especfica. Colabora con la conformacin de objetos para la interfaz Target.
IFTARGET.- Este interface declara el mtodo que la clase Cliente llama. define la interfaz
especfica del dominio que Client usa.
ADAPTER.- Esta clase implementa el interface IFTarget. Implementa el mtodo que el
cliente llama para llamar a un
mtodo de la clase Adaptee, la cual no implementa el interface IFTarget. Adapta la interfaz
de Adaptee a la interfaz Target.
ADAPTEE.- Esta clase no implementa el mtodo del interface IFTarget pero tiene un
mtodo que quiere llamar la clase Cliente. Define una interfaz existente que necesita
adaptarse.
CONSECUENCIAS
*El cliente y las clases Adaptee permanecen independientes unas de las otras.

*El patrn Adapter introduce una in direccin adicional en un programa. Como cualquier
otra in direccin, contribuye a la dificultad implicada en la compresin del programa.
PATRON COMPOSITE (patrn de estructura)
definicin El patrn Composite sirve para construir objetos complejos a partir de otros
ms simples y similares entre s, gracias a la composicin recursiva y a una estructura en
forma de rbol. Esto simplifica el tratamiento de los objetos creados, ya que, al poseer
todos ellos una interfaz comn, se tratan todos de la misma manera.
Objetivos
* Componer objetos en rboles para representar jerarquas todo-parte.
*Manipular todos los objetos individuales y objetos compuestos de una manera uniforme
aplicabilidad
*Como su propia definicin indica, cuando se requiere representar jerarquas todo-parte
que superen cierto tamao.
*Cuando se desea que los clientes puedan ignorar la diferencia entre colecciones de objetos
y objetos individuales, haciendo que ambos se traten de la misma manera
Participantes:
Componente: Define la interfaz comn para los objetos de la composicin. Adems,
define la interfaz para acceder y gestionar los hijos. Implementa un comportamiento
por defecto comn a las subclases
Hoja: Representa los objetos sin hijos de la composicin. Define el comportamiento
de los mismos.
Composite: Define el comportamiento para los componentes que tienen hijos.
Almacena los componentes con hijos e implementa las operaciones para la gestin
de hijos
Cliente: Manipula los objetos de la composicin a travs de la interfaz