Sunteți pe pagina 1din 38

M

E
B
H
INTRODUCCION A LA
PROGRAMACION ORIENTADA
A OBJETOS (POO)
M
E
B
H
Introduccin
Fases del ciclo de vida del software:
1) Anlisis, 6%
2) Diseo, 5%
3) Implementacin, 7%
4) Depuracin, 15%
5) Mantenimiento, 67%
Factores en la calidad del software:
Eficiencia, portabilidad, verificabilidad, integridad (proteccin
contra procesos sin derecho de acceso), facilidad de uso,
correccin, robustez (situaciones anmalas), extensibilidad,
reutilizacin, compatibilidad, etc.
M
E
B
H
Abstraccin en programacin
Capacidad para encapsular y aislar la
informacin del diseo y ejecucin.
Mecanismos en programacin:
Programacin Imperativa
Programacin Estructurada
Abstraccin de Datos
Programacin Orientada a Objetos
Evolucin
M
E
B
H
Programacin estructurada
Desde principios de los 70. Dificultad de
trabajo en grupo. No hay correspondencia
estrecha entre datos reales y programas.
M
E
B
H
Programacin estructurada
Abstraccin de operaciones
Estructura de un mdulo:
Interfaz
Datos de entrada
Datos de salida
Descripcin funcionalidad
Implementacin
Datos locales
Secuencia de instrucciones
Sintaxis del lenguaje:
Organizacin del cdigo en bloques de instrucciones
Definicin de funciones y procedimientos
Extensin del lenguaje con nuevas operaciones
Llamadas a nuevas funciones y procedimientos
M
E
B
H
Tipos abstractos de datos
Se fundamenta en:
Abstraccin de Datos + Abstraccin de Operaciones
Un tipo abstracto de datos consiste en:
Estructura de datos que almacena informacin para
representar un determinado concepto
Funcionalidad: conjunto de operaciones que se
pueden realizar sobre el tipo de datos
Sintaxis del lenguaje:
Mdulos asociados a tipos de datos
No introduce necesariamente variaciones respecto a la
programacin modular
M
E
B
H
Tipos abstractos de datos
Abstraccin de los datos



Abstraccin de las operaciones
M
E
B
H
La POO
Programacin orientada a objetos
Soporte sintctico para los tipos abstractos de
datos + Prestaciones asociadas a las
jerarquas de clases + Cambio de perspectiva
Se basa en el concepto de objeto
Objeto = tipo abstracto de datos con estado
(atributos) y comportamiento (operaciones)
propios
M
E
B
H
La POO
Aparece el concepto de jerarqua de tipos, y con
l los conceptos de:
Herencia de estructura y funcionalidad
Polivalencia de los tipos
Polimorfismo
Sintaxis del lenguaje:
Definicin de clases
Funciones explcitamente asociadas a clases
Creacin de objetos
Acceso a atributos, invocacin de mtodo
M
E
B
H
La POO
Ventajas del uso de la POO
Adecuada en prototipos y simulacin.
Reusabilidad (mecanismos de abstraccin y
herencia)
En programacin convencional: uso de
funciones y procedimientos
Adecuada para entornos de bases de datos y
en sistemas Cliente/Servidor
Idnea para tratamiento de Interfaces de
Usuario.
M
E
B
H
Caractersticas de la POO
Generales:
Construccin de sistemas complejos a partir de componentes.
Modelado ms fiel al mundo real.
Estimacin de reduccin de 40% con respecto a la
programacin convencional.
El modelo objeto (Booch, 1994):
Abstraccin
Los paradigmas clsicos estructurados usan una abstraccin
funcional (procedimental) por un lado, y una de datos por otro.
El paradigma objetual define un objeto como una abstraccin de
datos y funciones, separando adems su implementacin de su
apariencia externa.
Las caractersticas esenciales del objeto
Una grapadora: Color, Nmero de ganchos, rellenar, grapar, etc
M
E
B
H
Caractersticas de la POO
Encapsulamiento
El contenido de alguna informacin est oculto
Barrera conceptual sobre coleccin de datos que solo me
permite modificarlos a travs de las operaciones definidas por
esa barrera
Una clase contiene:
una interfaz pblica
una implementacin
Ventajas:
Reduccin de la cohesin entre distintos objetos, lo que implica
laconstruccin de objetos independientes. Cambiar un objeto no
afecta al resto, slo al objeto en cuestin.
Localizacin: la informacin relativa a un objeto est centrada en la
definicin de l mismo y no distribuida en otros objetos. Esto
implica fcil modificacin, fcil adaptacin a los cambios, rpida
ubicacin de lo que hay que cambiar.
M
E
B
H
Caractersticas de la POO
Proteccin Integridad: slo permite cambiar el estado por s
mismo, a travs de sus operaciones propias. Esto asegura la
integridad y la consistencia de la Data.







Modularidad
Subdivisin de una aplicacin en otras ms pequeas
(mdulos).
Un mdulo es un conjunto de clases
M
E
B
H
Caractersticas de la POO
Jerarqua
Ordenamiento de las abstracciones
Tipos:
Herencia (es-un); generalizacin/especializacin
Herencia simple o mltiple
Agregacin (parte-de)
Polimorfismo
Una misma operacin (mtodo) realizada de diferente modo
comer (hombre, vaca, delfin, tigre); clase mamfero







Otras propiedades
Concurrrencia (multitarea), Persistencia, Uso de excepciones
M
E
B
H
Lenguajes OO
Cronologa:
Simula (1967)
Smalltalk (1980)
C++ (1983, 1990)
Object Pascal (1988)
Lisp CLOS (1989)
Java (1995, 1997, 1998)
Primeros lenguajes POO:
Simula-67
Objeto (datos+mtodos). Clase. Herencia.
Smalltalk-80
Verdadero primer lenguaje de POO
Concepto de paso de mensajes (activacin de mtodos)
Orientacin:
Puros (Smalltalk)
Hbridos (C++)
M
E
B
H
Conceptos de la POO
Principales:
Objeto (una instancia de una clase): atributos +
mtodos
Mtodos: operaciones sobre los objetos
Clases: categoras de objetos con propiedades y
operaciones comunes
Jerarqua de herencia entre clases
Relaciones, objetos compuestos
Conceptos equivalentes:
Programacin (tipo, variable)
POO (clase, objeto)
M
E
B
H
Conceptos de la POO
Ciclo de vida de los objetos
Creacin
Empleado x = crear Empleado ()
Constructores: inicializacin de atributos
Manipulacin
Acceso a atributos: x . nombre
Invocacin de mtodos: x . salario_neto ( )
Destruccin
Explcita (C++)
Automtica (Java) garbage collection
Ejemplo: Al desaparecer un directivo, actualizar relacin de
subordinados
M
E
B
H
Conceptos de la POO
Encapsulamiento
Miembros privados y pblicos
Interfaz pblica de una clase (miembros pblicos, datos y
mtodos)
Se pueden invocar desde fuera de la clase
Ejemplo (clase Robot)
Datos:
privado x (entero)
privado y (entero)
Mtodos:
pblico void avanzar (entero, entero)
pblico entero posicionX ()
pblico entero posicionY ()
pblico void avanzar (entero)
M
E
B
H
Conceptos de la POO
Objeto X
NO los puede accesar
Los
puede
accesar
M
E
B
H
Conceptos de la POO
La Herencia
Herencia de
Estructura:



Herencia de
Funcionalidad:
M
E
B
H
Conceptos de la POO
Clase Abstracta:No admite una instancia directa.
Ejemplo: clase Figura. Sera invlido
Clase Concreta: Admite la creacin de Instancias
Herencia Mltiple:
M
E
B
H
Conceptos de la POO
Ligadura
Se refiere a la conexin entre una llamada a
una funcin y el cdigo real ejecutado como resultado
de la llamada
Tipos:
Ligadura Esttica
El compilador y el enlazador definen directamente la
posicin fija del cdigo que se ejecuta en cada
llamada a la funcin
Sinnimo: Ligadura temprana, anticipada.
M
E
B
H
Conceptos de la POO
Ligadura Dinmica
El compilador no defina la posicin a llamar,
sino que espera har el tiempo de ejecucin
para decidir cual es la posicin real
seleccionada entre una lista de posiciones.
El propio cdigo debe deducir en tiempo de
ejecucin cual es la funcin a invocar e
invocarla a continuacin.
Esta caracterstica permite definir y manejar
jerarquas de clases de un modo simple
M
E
B
H
Referencias:
Basado en:
M
E
B
H
Tipos de datos primitivos
DATOS
M
E
B
H
En el lenguaje C existen tres tipos de datos
bsicos que son el int, float y char. A partir
de estos tipos se crean otros que funcionan
igual pero que difieren en el tamao como el
long, el double, y otros. Estos que son
parte del lenguaje se consideran como tipos
"primitivos.
M
E
B
H
A partir de
estos datos
primitivos se
pueden
hacer tipos
compuestos
M
E
B
H
Enteros
Los enteros son el tipo de dato ms
primitivo. Se usan para representar nmeros
enteros, valga la redundancia. Pero siempre
se pueden encontrar otras aplicaciones para
los nmeros enteros. En general se pueden
usar para representar cualquier variable
discreta.
M
E
B
H
Para el lenguaje C existen diferentes tamaos
de nmeros enteros que pueden tener desde 1
byte hasta 8 bytes.
El lenguaje C hace la distincin de si el entero
es con signo o sin signo (signed o unsigned). La
forma de declarar un entero es con uno de los
tipos de datos que sean enteros segn el
tamao que se quiera. En caso de que no se
declare si es con signo o sin signo, se toma con
signo.
M
E
B
H
Flotantes
Los valores flotantes son ms modernos y
se usan mucho en aplicaciones que trabajan
con grficos o que necesitan de mucha
precisin.
M
E
B
H
El tipo de dato flotante en lenguaje C slo
tiene dos tamaos: el float y el double, que
son 4 bytes y 8 bytes respectivamente. A
diferencia de los enteros el tipo de dato
flotante soporta nmeros decimales y
nmeros con exponente.
M
E
B
H
Caracteres
Los caracteres o el tipo char solo tienen 1
byte de tamao y usa la misma
representacin que los nmero enteros. La
nica diferencia es su tamao y que el char
es usado para representar los 255
caracteres de la tabla ASCII.
M
E
B
H
Un mapa de caracteres ASCII es
simplemente una manera de mantener
todos los caracteres imprimibles o
mostrados por pantalla en una lista. Todos
los ordenadores guardan la informacin
como conjuntos de 1 y 0 (bits), no como los
caracteres que nosotros vemos.
M
E
B
H
De esta forma en 8 bits podemos representar
nmeros desde 0 hasta 255, a cada valor la
mquina le asigna un carcter. Por ejemplo:

El nmero 32 representa un espacio
Del nmero 48 hasta el 57 son los nmeros
naturales desde el 0 hasta el 9
Del 65 hasta el 90 son letras de A hasta la Z en
maysculas
De 97 hasta 122 son letras de a hasta la z en
minsculas

M
E
B
H
Este mtodo de ordenacin se usa como
estndar para que de alguna manera todos
los ordenadores funcionen de la misma
forma a la hora de trabajar con caracteres.
M
E
B
H
Repasar para maana
Datos primitivos
Cadenas
Lgicos
Datos no primitivos
Arreglos
Apuntadores
Identificadores, variables y constantes
Identificadores
Variables y constantes
M
E
B
H

M
E
B
H
http://www.webtutoriales.com/tutoriales/ht
ml-css/mapa-caracteres-ascii.1.html
http://www.ascii.cl/es/

S-ar putea să vă placă și