Documente Academic
Documente Profesional
Documente Cultură
Resumen
Clase 2
2 / 17
Clase 2
3 / 17
Historia
Historia
Clase 2
4 / 17
Historia
Generalidades y disclaimer
Por haber pasado por introduccin a la programacin, ya saben algo o o
historia. La siguiente no es una narracin cronolgica exhaustiva. o o Existen tipos de lenguajes y paradigmas de programacin que o simplemente ignoraremos (programacin funcional, programacin en o o lgica, etc.). o Haremos un barrido rpido por los puntos que nos llevan a la a programacin orientada a objetos. o Tambin, a modo de disclaimer, no todo lo que vamos a ver es 100% e
preciso.
Para casi toda armacin hay un pero. o No podemos entrar en todo el detalle, porque no hay tiempo (ni tiene
Clase 2
Historia
Inicios
Programa es escrito como una secuencia de instrucciones. Estas instrucciones se ejecutan en el orden que son escritas. Comandos de control de ujo (IF, FOR) programacin o
estructurada.
Ejemplo: Programa en BASIC (1963)
10 INPUT " What is your name : " , U$ 20 PRINT " Hello " ; U$ 30 INPUT " How many stars do you want : " , N 40 S$ = " " 50 FOR I = 1 TO N 60 S$ = S$ + " * " 70 NEXT I 80 PRINT S$ 90 INPUT " Do you want more stars ? " , A$ 100 IF LEN ( A$ ) = 0 THEN 90 110 A$ = LEFT$ ( A$ , 1) 120 IF A$ = " Y " OR A$ = " y " THEN 30 130 PRINT " Goodbye " ; U$ 140 END
Clase 2 6 / 17
Historia
Abstraccin de procesos o
Evolucin natural. o Trozos de cdigo son reusados constantemente. o Concepto de procedimiento (o funcin) programacin procedural. o o Trozo de cdigo con un nombre que indica lo que hace. o Posiblemente, necesita parmetros. a Posiblemente, devuelve un valor (cualquier cosa). Abstraccin: para el usuario del procedimiento no es importante o
Historia
Abstraccin de datos o
La mayor de los lenguajes provee de algunos tipos de abstraccin de a o
datos.
Nmeros (enteros, reales, etc.), texto, etc. u
un nombre signicativo.
Por ejemplo, un texto llamado nombre y un nmero llamado edad u
Historia
Abstraccin de datos o
El concepto de Tipo de dato abstracto (TDA) se asocia a un tipo
aumentar su edad en 1. Al igual que todo lo anterior, esto es comn y se usa hoy. u Sin embargo, con la evolucin de la ciencia de la computacin se o o
los objetos).
No permiten una modularizacin real: datos y las operaciones sobre o
Conceptos de POO
Conceptos de POO
Clase 2
10 / 17
Conceptos de POO
u representar un programa como una serie de objetos que interactan entre s de acuerdo a sus responsabilidades individuales.
Clase 2
11 / 17
Conceptos de POO
Objetos
Un objeto tiene una serie de atributos. Y un valor asociado a cada uno de ellos. Ejemplo: Atributos de un objeto y sus valores Mi auto es de color rojo y tiene un rendimiento de 17[km/l]. Un objeto tiene una identidad. Dos objetos del mismo tipo, aunque tengan los mismos valores para los mismos atributos, no necesariamente son el mismo. Ejemplo: Identidad
Mi AUDI TT RS 3.6 (350hp) y el tuyo pueden verse iguales, pero no son el mismo auto.
Clase 2
12 / 17
Conceptos de POO
Objetos
Finalmente, un objeto permite realizar una serie de acciones sobre l. e Uno espera que un objeto permita hacer lo que est diseado para a n hacer. El objeto tiene que exponer los mecanismos (una interfaz) para poder interactuar con l. e Al usuario (cliente del objeto) no le importa como se realice la accin, si no que se realice. o Ejemplo: Acciones sobre un objeto En mi AUDI, espero que al girar la llave el motor comience a funcionar. Para esto, el auto expone la interfaz necesaria (llave et al.). Me da lo mismo como, slo me importa que ocurra. o
En la POO las acciones que se pueden ejecutar sobre un objeto estn a
Conceptos de POO
Clase 2
14 / 17
Conceptos de POO
intancias de ella.
Cuando queremos escribir una clase, tenemos que pensar, entonces, en
Clase 2
15 / 17
Resumen
Resumen
Clase 2
16 / 17
Resumen
Resumen
Evolucin de la forma de programar. o Se agregan paulatinamente abstracciones que hacen que el cdigo sea: o
ms fcil de escribir. a a ms reusable. a ms verstil. a a
TDAs en lenguajes procedurales tienen falencias. Relacin entre funciones y datos. o Encapsulacin. o Modularidad. Programacin orientada objetos. o Objetos
Atributos Identidad Operaciones Clases Denen tipos de objetos. Todo objeto pertenece a alguna clase. Los objetos son instancias de clases. Mtodos como responsabilidades. e
Clase 2 17 / 17