Beruflich Dokumente
Kultur Dokumente
Introduccin
Fases del ciclo de vida del software:
1) Anlisis, 6% 2) Diseo, 5% 3) Implementacin, 7% 4) Depuracin, 15% 5) Mantenimiento, 67%
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
Programacin estructurada
Desde principios de los 70. Dificultad de trabajo en grupo. No hay correspondencia estrecha entre datos reales y programas.
Programacin estructurada
Abstraccin de operaciones
Estructura de un mdulo:
Interfaz
Datos de entrada Datos de salida Descripcin funcionalidad
Implementacin
Datos locales Secuencia de instrucciones
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
La POO
Programacin orientada a objetos
Soporte sintctico para los tipos abstractos de datos + Prestaciones asociadas a las jerarquas de clases + Cambio de perspectiva
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
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.
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.
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.
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
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
Lenguajes OO
Cronologa:
Simula (1967) Smalltalk (1980) C++ (1983, 1990) Object Pascal (1988) Lisp CLOS (1989) Java (1995, 1997, 1998) 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++)
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)
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
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
Mtodos:
pblico void avanzar (entero, entero) pblico entero posicionX () pblico entero posicionY () pblico void avanzar (entero)
Conceptos de la POO
NO los puede accesar
Conceptos de la POO
La Herencia
Herencia de Estructura:
Herencia de Funcionalidad:
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:
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
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
Referencias:
Basado en:
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.
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.
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.
Flotantes
Los valores flotantes son ms modernos y se usan mucho en aplicaciones que trabajan con grficos o que necesitan de mucha precisin.
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.
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.
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.
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
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.