Академический Документы
Профессиональный Документы
Культура Документы
García.
Autor: Ing. Fernando Martín Del Campo
ordenador para la ejecución de una serie de
operaciones, con el objetivo de resolver un
problema que se ha definido previamente.
2
«PROGRAMACIÓN»
Programación es aquella actividad por la cual se crean
programas para computadoras, tales programas pueden ser
códigos fuentes interpretados (como por ejemplo scripts en
García.
Autor: Ing. Fernando Martín Del Campo
BASH) o códigos fuentes que serán compilados (como por
ejemplo programas en C++) hacia lenguajes binarios y
ejecutados desde el kernel del sistema operativo.
No es normal escribir un programa en lenguaje de máquina
dado que es muy difícil, en cambio, se utilizan lenguajes de
programación inteligibles por un ser humano. No es necesario
que un programa sea escrito en un sólo lenguaje, puede
poseer diversas partes escritas en distintos lenguajes de
programación, como por ejemplo C, C++ y Asm.
3
La diferencia entre algoritmo y programa es
que este último implementa, en general,
traduciendo a un lenguaje de programación en
García.
Autor: Ing. Fernando Martín Del Campo
concreto, un algoritmo, el cual es una
secuencia finita, ordenada y no ambigua de
instrucciones que resuelven determinado
problema. Esta secuencia de instrucciones
luego podrá ser repetida cuantas veces sea
necesario, dentro del mismo programa, o con
la ejecución del programa en varias
oportunidades.
4
PROGRAMA
Un programa es una serie de instrucciones que
le indican a la computadora cuáles son las
tareas que tiene que realizar para lograr un fin
García.
Autor: Ing. Fernando Martín Del Campo
específico. Debe tener una estructura..
5
PROGRAMACIÓN ORIENTADA A
OBJETOS
La POO ( Programación Orientada a Objetos) se puede
definir como “un método de implementación en el que los
programas se organizan como colecciones cooperativas
García.
Autor: Ing. Fernando Martín Del Campo
de objetos, cada uno de los cuales representan una
instancia de alguna clase, y cuyas clases son todas
miembros de una jerarquía de clases unidas mediante
relaciones de herencia”.
Existen tres importantes partes en la definición: la
programación orientada a objetos 1) utiliza objetos, no
algoritmos, como bloques de construcción lógicos; 2)
cada objeto es una instancia de una clase; 3) las clases se
relacionan unas con otras por medio de relaciones de
herencia.
6
¿CUÁLES SON LAS VENTAJAS DE
UN LENGUAJE ORIENTADO A
OBJETOS?
Fomenta la reutilización y extensión del código.
Permite crear sistemas más complejos.
García.
Autor: Ing. Fernando Martín Del Campo
Relacionar el sistema al mundo real.
Facilita la creación de programas visuales.
Construcción de prototipos
Agiliza el desarrollo de software
Facilita el trabajo en equipo
Facilita el mantenimiento del software
Lo interesante de la POO es que proporciona
conceptos y herramientas con las cuales se
modela y representa el mundo real tan
fielmente como sea posible. 7
PARADIGMA ORIENTADA A
OBJETOS
García.
Autor: Ing. Fernando Martín Del Campo
características esenciales.
Es el proceso mental primario para
abordar la complejidad.
Simplifica la interacción de los
usuarios con objetos abstraídos.
Hay dos tipos: La abstracción funcional
y la abstracción de datos.
9
ABSTRACCIÓN FUNCIONAL – (1)
Ignora detalles acerca del procesamiento.
Hace uso de abstracciones de lenguaje de
García.
Autor: Ing. Fernando Martín Del Campo
alto nivel.
Utiliza abstracciones definidas por el usuario
( procedimientos y subrutinas )
10
ABSTRACCIÓN FUNCIONAL – (2)
int *endptr; int *primptr;
int i,k;
primptr = ptr; endptr = ptr + n - 1;
García.
Autor: Ing. Fernando Martín Del Campo
for(i=0; i<n; i++)
{
for(ptr = primptr; ptr < endptr - i; ptr++)
if(*ptr > *(ptr+1))
{
k = *ptr;
*ptr = *(ptr+1);
*(ptr+1) = k;
}
}
11
ABSTRACCIÓN FUNCIONAL – (3)
El código anterior parece ser complejo.
Si se tuviera que poner cada vez que ser
García.
Autor: Ing. Fernando Martín Del Campo
requiera entonces el propósito global del
programa se perdería.
En lugar de esto usamos una función de
ordenamiento
void burbuja(int ptr[], int n)
12
ABSTRACCIÓN DE DATOS
García.
Autor: Ing. Fernando Martín Del Campo
Permite ignorar los detalles de la representación
interna de los datos
Involucra la abstracción funcional.
García.
Autor: Ing. Fernando Martín Del Campo
Los objetos son:
Cosas
Realeso imaginarias
Simples o complejas
14
IDENTIFICANDO A LOS OBJETOS (2)
X + Yi
Objeto Empleado Número Complejo
Vaca
García.
Autor: Ing. Fernando Martín Del Campo
Los atributos son: las características del los
objeto.
Las operaciones son: lo que un objeto puede
hacer.
16
IDENTIFICANDO A LOS OBJETOS
IDENTIDAD
Además de los atributos y operaciones un
objeto tiene una identidad.
García.
Autor: Ing. Fernando Martín Del Campo
La identidad de un objeto el lo que lo
diferencia y distingue de otros objetos
similares.
17
IDENTIFICANDO A LOS OBJETOS
SUS TRES ELEMENTOS
García.
Autor: Ing. Fernando Martín Del Campo
3 elementos:
18
IDENTIFICANDO A LOS OBJETOS
ATRIBUTOS, OPERACIONES E
IDENTIDAD
García.
Autor: Ing. Fernando Martín Del Campo
Que tenga atributos y operaciones
20
IMPORTANCIA PARA EL DOMINIO DEL
PROBLEMA
García.
Autor: Ing. Fernando Martín Del Campo
problema?
¿Es requerido para alcanzar completamente las
responsabilidades del sistema?
¿ Los objetos son características de otros objetos ?
21
EXISTENCIA INDEPENDIENTE
García.
Autor: Ing. Fernando Martín Del Campo
objeto, necesariamente debe existir con
independencia.
22
ATRIBUTOS Y OPERACIONES
Un objeto debe tener atributos y operaciones
Si no los tiene, es probablemente un atributo
García.
Autor: Ing. Fernando Martín Del Campo
u operación de otro objeto.
23
ENCAPSULAMIENTO
El encapsulamiento separa los aspectos
externos de un objeto de sus detalles
internos de implementación.
García.
Autor: Ing. Fernando Martín Del Campo
Los cambios internos necesarios no afectan a
la interface externa.
P.ej. Ud. no necesita saber como un teléfono conecta a las dos
partes para poder utilizarlo. Solo necesita entender la interface, cual
es la composición de botónes, el auricular ( para el oido ) , y la
bocina ( para la voca ). Ud. puede ignorar los procesos internos de
cómo es hecha la conexión, los switches que cruzan los países, etc.
24
PARTES DE UN OBJETO
ENCAPSULADO
Cada objeto tiene:
Interfacepública ( externo ).
García.
Autor: Ing. Fernando Martín Del Campo
Implementación ( interno )
Información interna ( información para
la implementación ).
25
IMPLEMENTANDO EL
ENCAPSULAMIENTO
Los atributos y operaciones de un objeto son
sus miembros.
Los miembros de un objeto pueden ser
García.
Autor: Ing. Fernando Martín Del Campo
public o private .
En sistemas OO puros, todos los atributos
son privados y pueden ser cambiados o
accesados solo a través de operaciones
públicas.
26
MENSAJES – (1)
García.
Autor: Ing. Fernando Martín Del Campo
Un mensaje es la invocación de una operación u
método de la interfaz publica de un objeto
encapsulado
En los objetos encapsulados, los mensajes son
entre los métodos públicos de los objetos.
El acceso al estado de un objeto es mediante estos
mensajes a métodos accesores y mutadores. ( los
getters y setters ).
27
MENSAJES - (2)
ESTADO DE UN OBJETO
García.
Autor: Ing. Fernando Martín Del Campo
instante dado.
La instancia de una clase ( o sea un objeto )
cambia o muta sus valores en el transcurso
del tiempo de vida del objeto.
Este estado del objeto solo es posible
accesarlo o modificarlo con mensajes o
invocaciones a las operaciones de la
interface pública de los objetos para no
perder la propiedad del encapsulamiento.28
( getters y setters ).
MENSAJES - (3)
Mensajes entre objetos
Lectura de velocidad
Tacto
García.
Autor: Ing. Fernando Martín Del Campo
Velocidad
RPM Estados
Mentales
Luces Testigo Vista
29
MENSAJES - (4)
Mensajes entre objetos
Palanca de
velocidades Acelerar ( Fuerza)
García.
Autor: Ing. Fernando Martín Del Campo
-Posición Girar (sentido,ángulo)
-Velocidad
-Aceleración Volante Frenar (Fuerza)
Freno -RMP del motor
….. Embragar
Desembragar
Acelerador
Cambiar marcha ( Marcha)
30
RESUMEN
García.
Autor: Ing. Fernando Martín Del Campo
Objeto
Atributos
Operaciones
Abstracción
Ocultamiento de Datos
Encapsulado
Mensajes
Miembro
31
CLASES
Un objeto es una instancia: Una específica
galleta, hoja, balón, carro o moneda.
García.
Autor: Ing. Fernando Martín Del Campo
“Un carro” es una clase; “mi carro” es un
objeto
32
CLASES DE OBJETOS
García.
Autor: Ing. Fernando Martín Del Campo
Objetos de la clase Galleta
Creación
o
instanciación
García.
Autor: Ing. Fernando Martín Del Campo
La Generalización identifica y define los
atributos y operaciones comunes en una
colección de objetos.
35
HERENCIA – (1)
Superclase
Balon
García.
Autor: Ing. Fernando Martín Del Campo
clase en términos de una clase existente.
Permite agrupar clases relacionadas de tal
manera que pueden ser manejadas
colectivamente
Promueve su uso
Permite esconder o sobreponer miembros
heredados
Términos relevantes: generalización,
especialización, sobreposición. 37
HERENCIA – (3)
ESPECIALIZACIÓN Y GENERALIZACIÓN
García.
Autor: Ing. Fernando Martín Del Campo
38
ESPECIALIZACIÓN – (1)
García.
Autor: Ing. Fernando Martín Del Campo
mayores del sistema, y ayudan a identificar nuevas
clases, la especialización se enfoca a la creación
individual, mas clases específicas que heredarán de
una clase mayor. La especialización es herencia con
la agregación y modificación de métodos para
resolver problemas específicos.
39
ESPECIALIZACIÓN - (2)
Clases Generalizadas:Transporte
Clases
Especializadas: Comercial
García.
Autor: Ing. Fernando Martín Del Campo
Trabaja solamente cuando operaciones
herencia. 41
POLIMORFISMO (2)
García.
Autor: Ing. Fernando Martín Del Campo
operaciones la operación lanzar. Sus subclases, tales
como Balon de tenis, o Balón de Soccer, heredarían
la misma operación. Sigue siendo la misma
operación en las tres clases, sin embargo el como y
el cuando usted lanza usted cada balón difiere uno
de otro.
42
POLIMORFISMO – (3)
El
polimorfismo es un concepto importante
en los sistemas orientados a objetos que
soportan el reutilización y mantenimiento
de software.
lanza
lanza
García.
Autor: Ing. Fernando Martín Del Campo
La clase tiene una operación llamada
escribe.
¿Qué objetos del salón de clase
pueden ser subclases de
InstrumentoDeEscritura?
¿Cómo es la operación polimórfica
escribe para cada objeto?
44
POLIMORFISMO – (5)
PUNTOS CLAVE.
García.
Autor: Ing. Fernando Martín Del Campo
El polimorfismo esta basado en la herencia.
El polimorfismo puede ser aplicado a cualquier
operación que es heredada de una superclase
Las subclases sobreponen o sobre-escriben la
operación heredada para reflejar mejor esta
para las acciones de sus objetos , proveyendo
una mejor forma de operación, de aquí el
término de polimorfismo.
45
CLASES ABSTRACTAS – (1)
García.
Autor: Ing. Fernando Martín Del Campo
Una subclase de una clase abstracta necesita
proveer una implementación de todas las
operaciones abstractas o de los contrario también
será una clase abstracta.
Una clase abstracta no puede ser instanciada
( usted no puede crear objetos de una clase abstracta ).
Lasoperaciones abstractas de una clase abstracta
son simplemente declarativos.
46
CLASES ABSTRACTAS – (2)
EJEMPLO
García.
Autor: Ing. Fernando Martín Del Campo
Las operaciones para estas clases deben incluir
operaciones como setColor y setBorderStyle.
Puede decidir crear una clase abstracta llamada
figura con dos operaciones abstractas: setColor
y setBorderStyle
Las subclases deben sobre-escribir o
sobreponer las operaciones abstractas y
proveer código de implementación que tenga
sentido para cada subclase de figura. 47
RESUMEN
García.
Autor: Ing. Fernando Martín Del Campo
siguientes términos:
Clase
Objeto
Generalización
Herencia
Especialización
Polimorfismo
Clase abstracta
48