Subido por Argenis Chacon B.

Unidad 1. Conceptos Fundamentales de Algoritmos y Programación basada en el Paradigma Orientado a

Anuncio
1. Definir con sus propias palabras la programación
orientada a objetos según los conceptos y
características discutidas.
2. Identificar elementos básicos de la programación
orientada a objetos en la vida cotidiana, con un
margen de precisión.
Objeto y Abstracción de Datos
MSc Orlando Sevilla
1. Repaso del concepto de algoritmo.
2. Definición de programación.
3. Definición de paradigma.
4. Tipos de paradigma.
5. Definición de programación orientada a objetos.
Objeto y Abstracción de Datos
MSc Orlando Sevilla
Lista bien
definida,
ordenada y finita
de instrucciones
Objeto y Abstracción de Datos
Solución a un
problema
Pasos sucesivos
y bien definidos
Debe ser flexible
a cambios
Debe contemplar
las posibles
visiones del
problema que a
resolver
MSc Orlando Sevilla
•Llegar a sus objetivos planteados utilizando
la menor cantidad de recursos posibles.
•El análisis de resolución del problema se lo
realiza prioritariamente.
•Determina como hace el programa la
tarea solicitada
•Divide y vencerás
•Diseño modular o descendente
•Programa principal (el módulo de nivel
más alto) que llama a subprogramas
(módulos) de nivel mas bajo, que a su vez
pueden llamar a otros subprogramas
•El diseño es independiente del lenguaje
de programación en el que se vaya a
codificar
Objeto y Abstracción de Datos
MSc Orlando Sevilla
• Escritura en un
lenguaje de
programación de la
representación de
un algoritmo. Dado
que el diseño del
algoritmo es
independiente del
lenguaje de
programación
utilizado en su
implementación
• El código puede
ser escrito con
igual facilidad en
un lenguaje o en
otro.
• El programa fuente
debe ser traducido
a lenguaje
máquina. Este
proceso se realiza
con el compilador
y el sistema
operativo que se
encarga
prácticamente de
la compilación
• Cuando se ha
creado un
programa
ejecutable este se
puede ya ejecutar
desde el sistema
operativo con solo
teclear su nombre
Objeto y Abstracción de Datos
• Proceso de
ejecución del
programa con una
amplia variedad de
datos de entrada,
que determinarán
si el programa
tiene errores
• Se pueden
producir tres tipos
de errores: Errores
de compilación,
Errores de
ejecución, Errores
lógicos
• Descripciones de
los pasos a dar en
el proceso de
resolución de un
problema
• La documentación
es vital cuando se
desea corregir
posibles errores
futuros o bien
cambiar el
programa
MSc Orlando Sevilla
Proceso por el cual se
escribe (en un lenguaje de
programación), se prueba,
se depura y se mantiene el
código fuente de un
programa informático
Los programas son los
elementos que forman el
software, que es el
conjunto de las
instrucciones que ejecuta
el hardware de una
computadora para realizar
una tarea determinada
Modelos de desarrollo de
software existentes, en
donde la programación es
sólo una de las etapas del
proceso de desarrollo de
software.
Programación es una de
las principales áreas
dentro de la informática.
Objeto y Abstracción de Datos
MSc Orlando Sevilla
Enfoque particular o filosofía para la construcción del
software. No es mejor uno que otro sino que cada uno
tiene ventajas y desventajas. También hay situaciones
donde un paradigma resulta más apropiado que otro
• Basado en
procedimiento
s y bloques
es
considerado el
más común y
está
representado,
por ejemplo,
por el C o por
BASIC.
• Incorpora la
modularidad
Funcional está
representado
por la familia
de lenguajes
LISP (en
particular
Scheme), ML o
Haskell.
Objeto y Abstracción de Datos
• Basado en
lógica de
programación
y condiciones
no contempla
los ciclos
• Utiliza objetos
como
elementos
fundamentales
en la
construcción
de la solución
MSc Orlando Sevilla
Expresa un programa
como un conjunto de
estos objetos, que
colaboran entre ellos
para realizar tareas
Los objetos disponen de
mecanismos de
interacción llamados
métodos que favorecen
la comunicación entre
ellos
Permite hacer los
programas y
módulos más fáciles
de escribir, mantener
y reutilizar
Los programadores que
emplean éste nuevo
paradigma, primero definen
objetos para luego enviarles
mensajes solicitándoles que
realicen sus métodos por sí
mismos
El objeto contiene
toda la información
que permite definirlo
e identificarlo frente
a otros objetos
pertenecientes a
otras clases
Objeto y Abstracción de Datos
Introduce nuevos
conceptos, que
superan y amplían
conceptos antiguos
ya conocidos
Todas las propiedades y
métodos comunes a los
objetos se encapsulan o
se agrupan en clases.
MSc Orlando Sevilla
• Propiedades y comportamiento de un tipo de objeto
concreto
• Entidad provista de un conjunto de propiedades o
atributos (datos) y de comportamiento o
funcionalidad (métodos).
• Su ejecución se desencadena tras la recepción de un
"mensaje".
• Puede producir un cambio en las propiedades del
objeto
• Suceso en el sistema (tal como una interacción del
usuario con la máquina, o un mensaje enviado por un
objeto)
• Comunicación dirigida a un objeto, que le ordena que
ejecute uno de sus métodos con ciertos parámetros
asociados al evento que lo generó
Objeto y Abstracción de Datos
MSc Orlando Sevilla
Propiedad o atributo
• Contenedor de un
tipo de datos
asociados a un
objeto (o a una
clase de objetos)
• Define como sus
características
predeterminadas
Objeto y Abstracción de Datos
Estado interno
Representación
• Variable que se
declara privada,
que puede ser
únicamente
accedida y alterada
por un método del
objeto
• Se utiliza para
indicar distintas
situaciones
posibles para el
objeto inducir un
cambio en sus
propiedades
• Componentes de
un objeto:
atributos,
identidad,
relaciones y
métodos.
• Representación de
un objeto: un
objeto se
representa por
medio de una tabla
o entidad que esté
compuesta por sus
atributos y
funciones
correspondientes.
MSc Orlando Sevilla
Denota las
características
esenciales de un
objeto, donde se
capturan sus
comportamientos
Cada objeto en el
sistema sirve como
modelo de un
"agente" abstracto
que puede realizar
trabajo, informar y
cambiar su estado, y
"comunicarse" con
otros objetos en el
sistema
Objeto y Abstracción de Datos
Reúne a todos los
elementos que pueden
considerarse
pertenecientes a una
misma entidad, al
mismo nivel de
abstracción.
Aumenta la cohesión
de los componentes
del sistema
El aislamiento
protege a las
propiedades de un
objeto contra su
modificación por
quien no tenga
derecho a acceder a
ellas
Asegura que otros
objetos no pueden
cambiar el estado
interno de un objeto
de maneras
inesperadas,
eliminando efectos
secundarios e
interacciones
inesperadas
MSc Orlando Sevilla
Comportamientos
diferentes, asociados
a objetos distintos,
pueden compartir el
mismo nombre
Las clases no están
aisladas, sino que se
relacionan entre sí,
formando una jerarquía
de clasificación
Las referencias y las
colecciones de
objetos pueden
contener objetos de
diferentes tipos, y la
invocación de un
comportamiento en
una referencia
producirá el
comportamiento
correcto para el tipo
real del objeto
referenciado
Los objetos heredan las
propiedades y el
comportamiento de todas
las clases a las que
pertenecen
Objeto y Abstracción de Datos
Organiza y facilita el
polimorfismo y el
encapsulamiento
permitiendo a los objetos
ser definidos y creados
como tipos especializados
de objetos preexistentes
MSc Orlando Sevilla
El problema de programación es analizado en
términos de objetos y de la naturaleza de la
comunicación entre los mismos. Se deberían
elegir los objetos del mundo real
si “cliente” y “cuenta” son dos objetos de un programa,
entonces el objeto cliente puede enviar un mensaje al objeto
cuenta solicitando un balance bancario
Si pensamos sobre cómo se nos plantea un problema en la realidad
podremos ver que lo que hay en la realidad son entidades (
“agentes” u “objetos”). Estas entidades poseen un conjunto de
propiedades o atributos, y un conjunto de métodos mediante los
cuales muestran su comportamiento
Objeto y Abstracción de Datos
MSc Orlando Sevilla
Un chico desea enviarle flores a la madre:
• Se busca Un chico desea enviarle flores a la madre. Una
forma es ir a la florería y pedirselo a la vendedora. Le doy el
tipo de flores y la dirección donde enviarlas
1
2
• un “objeto” (la vendedora) y le pasa un mensaje con el
requerimiento. Es la responsabilidad de la vendedora el
enviar las flores. Hay un método (conjunto de operaciones
o algoritmo) usado por a vendedora para hacer esto. El
chico no necesita conocer este método
• Las acciones son iniciadas por la transmisión de un
mensaje a un objeto que es responsable por la acción
3
Objeto y Abstracción de Datos
MSc Orlando Sevilla
• Dos ideas: Ocultar de información (dejar saber sólo lo
indispensable) y sacarse la idea de tener que se debe escribir
todo y no usar servicios de otros (delegar)
4
5
6
• Dos importantes diferencias entre Procedimientos y Mensajes
• En mensajes hay un receptor designado, en procedimientos no.
• La interpretación del mensaje (método) depende del receptor. Por
ejemplo, mi esposa no actuaría igual si le pido enviar las flores
• Usualmente el receptor de un mensaje no se conoce hasta
tiempo de ejecución. Decimos que la ligazón entre mensajes
(nombre de función o procedimiento) y el fragmento de código
(método) usado para responder es determinada a tiempo de
ejecución
Objeto y Abstracción de Datos
MSc Orlando Sevilla
Imaginemos la siguiente situación: un domingo por la tarde estoy en
casa viendo la televisión, y de repente mi madre siente un fuerte
dolor de cabeza; como es natural, lo primero que hago es tratar de
encontrar una caja de aspirinas.
1
2
3
• El objeto hijo responde al mensaje o evento ocurrido mediante una
acción: buscar aspirinas. La madre no tiene que decirle al hijo
dónde debe buscar, es responsabilidad del hijo resolver el
problema como considere más oportuno. Al objeto madre le basta
con haber emitido un mensaje.
• El hijo, como objeto responsable de un cometido, sabe lo que debe
hacer hasta conseguir una aspirina. Para ello entra en relación con
un nuevo objeto, la farmacéutica, quien responde al mensaje o
evento de petición del objeto hijo con la búsqueda de la aspirina
• El objeto farmacéutica es ahora el responsable de la búsqueda de
la aspirina. El objeto farmacéutica lanza un mensaje al objeto hijo
solicitando el pago del importe, y el objeto hijo responde a tal
evento con la acción de pagar.
Objeto y Abstracción de Datos
MSc Orlando Sevilla
El siguiente programa contiene una clase vehículo, cuyos
atributos son: matricula, hora de entrada, kilometraje de
entrada, hora de salida, kilometraje de salida y contiene un
método que calcula la velocidad media del automóvil, los
datos serán introducidos por teclado:
class vehiculo{ //
Clase Vehículo y sus
String matri;
atributos
double horaen, kiloen, horasa, kilosa;
}
public class AutomovilesMultados{
static double velocidadMedia(double a, double b, double c, double d){
return((a-b)/(c-d));}
}
Clase Automóviles Multados y el Método
Velocidad Media con parámetros formales
Clase Principal
public static void main(String args[]) throws IOException{
int n;
Instanciando la clase Vehículo
vehiculo v= new vehiculo();
para Crear el objeto V
Objeto y Abstracción de Datos
MSc Orlando Sevilla
Entrada de Datos almacenando en
los atributos Objeto V
InputStreamReader isr= new InputStreamReader(System.in);
BufferedReader fd= new BufferedReader(isr);
System.out.println("Ingrese el numero de autos:");
n=Integer.parseInt(fd.readLine());
for(int i=0;i<n;i++){
System.out.println("Ingrese la matricula del auto que esta entrando:");
v.matri=fd.readLine();
System.out.println("Ingrese la hora de entrada del vehiculo:");
v.horaen=Integer.parseInt(fd.readLine());
System.out.println("Ingrese el kilometraje de entrada:");
v.kiloen=Integer.parseInt(fd.readLine());
System.out.println("Ingrese la hora de salida del vehiculo:");
v.horasa=Integer.parseInt(fd.readLine());
System.out.println("Ingrese el kilometraje de salida:");
v.kilosa=Integer.parseInt(fd.readLine());
}
Objeto y Abstracción de Datos
MSc Orlando Sevilla
Llamada a la Función Velocidad Media
System.out.println("La velocidad media
"+velocidadMedia(v.kilosa,v.kiloen,v.horasa,v.horaen));
if(+velocidadMedia(v.kilosa,v.kiloen,v.horasa,v.horaen)>120){
System.out.println("El automovil esta multado");
}
}
}
Objeto y Abstracción de Datos
MSc Orlando Sevilla
Descargar