Está en la página 1de 61

FUNDAMENTOS DE PROGRAMACIN

Unidad I
Fundamentos de Programacin Orientada a Objetos

Objetivo del Curso


Analizar y solucionar problemas informticos y representar su solucin mediante herramientas de software orientado a objetos.

Unidad I
Objetivo de la Unidad
Analizar la evolucin de los paradigmas de programacin para comprender las bases de la POO. Comprender los conceptos de la programacin orientada a objetos, para conocer sus peculiaridades frente a la programacin estructurada, y su aplicacin en situaciones del mundo real.

Unidad I
1.1 Evolucin de la programacin. 1.2 Conceptos fundamentales de la Programacin Orientada a Objetos. 1.3 Lenguajes orientados a objetos 1.4 Relaciones entre clases y objetos. 1.5 Papel de clases y objetos en el anlisis y el diseo.

Antecedentes
Computadora
Dispositivo electrnico para procesar informacin y obtener resultados

Antecedentes

Modelo de Von Neumann

Antecedentes
En la memoria de la computadora se almacenan:
Formada por celdas que guardan bits Los datos que entraron para ser procesados Los programas que realizarn los procesos Los resultados obtenidos para emitir la salida

Antecedentes

Memora Principal de la Computadora

Antecedentes
La Unidad Central de procesamiento:
Formada por la ALU y Unidad de Control Dirige y controla el proceso de informacin realizado por la computadora Procesa y manipula la informacin (datos o programas) almacenada en la memoria Puede almacenar resultados

Antecedentes

Modelo de Von Neumann

Antecedentes
Dato:

Es un hecho aislado no evaluado ni significativo o bien, insumos o resultados de un fenmeno.

Antecedentes
Informacin:

Es un conjunto de datos homogneos relacionados entre s que significa un aumento de conocimientos importantes para el usuario.

Antecedentes
Informacin:

Es el significado que una persona asigna a los datos.

Antecedentes
Informacin:

La informacin es un dato o un conjunto de datos evaluados por un individuo concreto que trabaja en un momento dado sobre un problema especfico para alcanzar un objetivo determinado.

Antecedentes

Antecedentes

Antecedentes
Informacin:
Se codifica en patrones de bits (ceros y unos) que sean fcilmente almacenables y procesables por los elementos internos de la computadora.

Antecedentes
Las formas de informacin ms significativas son: Textos Sonidos Imgenes Valores numricos

Antecedentes
Representacin de textos:
Caracteres alfabticos A, B, C, D, E, ... X, Y, Z, a, b, c, ... , X, Y, Z Caracteres numricos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 sistema decimal Caracteres especiales { } ! ? & > # ...

Antecedentes
Representacin de textos:
Caracteres geomtricos y grficos

| | | ...
Caracteres de control
Salto de lnea, retorno de carro, tabulacin, etc.

Antecedentes
Cdigos para representacin de textos:
EBCDIC ASCII Unicode

Antecedentes
Representacin de valores numricos:
Enteros
(10)10 = (0000 0000 0000 0000 0000 0000 0000 1010) 2

Reales

(-0,13671875)10 = (BF460000)16

Evolucin de la programacin
Lenguaje de programacin
Un sistema de smbolos que juntos hacen notaciones o instrucciones, entendibles por el humano, para describir una tarea o clculo que realizar una mquina.

Evolucin de la programacin
Los 40S Lenguaje mquina Programacin de bajo nivel

El lenguaje mquina es una representacin de instrucciones entendidas por la Unidad de Control de la CPU.

Evolucin de la programacin

Evolucin de la programacin
Inicios de los 50s Lenguaje ensamblador Programacin de nivel medio o ensamblador

Cada operacin del microprocesador (opcode) se representa por un nombre y los operandos (direcciones de memoria) Utiliza expresiones simples expresadas por una combinacin de nombres y operaciones aritmticas simples Los programas en ensamblador se traducen a lenguaje mquina para poder ejecutarlos

Evolucin de la programacin

Evolucin de la programacin
1954- 1958 FORTRAN I ALGOL Programacin monoltica

Cada instruccin se escribe en una lnea o sentencia Utiliza expresiones Cdigo secuencial que se ejecuta de inicio a fin

Evolucin de la programacin

Evolucin de la programacin
1959 - 1961 FORTRAN II Programacin ALGOL 60 procedural COBOL
Cada instruccin se escribe en una lnea o sentencia Utiliza expresiones Uso de subprogramas para hacer mas legibles y mantenibles los programas. Evita la repeticin de cdigo

Evolucin de la programacin

COBOL

Evolucin de la programacin
1962 - 1970 Pascal C BASIC Programacin estructurada

Cada instruccin se escribe en una lnea o sentencia Utiliza expresiones Uso de subprogramas Independencia de los datos con respecto al programa

Evolucin de la programacin

Pascal

Evolucin de la programacin
1980 a la fecha Simula Smalltalk C++ Java Ruby Phyton Programacin Orientada a Objetos

Mtodo efectivo para la solucin de problemas complejos de la industria del software Nueva forma natural de solucionar problemas Representa el concepto de Objeto y su comportamiento Utiliza los beneficios de la programacin estructurada

Evolucin de la programacin

C++

Conceptos de POO
Modelado del mundo real
En el mundo fsico se trata con objetos fsicos (personas, autos, aviones, telfonos, cuentas de banco, etc.)

Conceptos de POO

Los objetos pueden ser concretos o abstractos

Conceptos de POO
Modelado del mundo real
Los objetos tienen atributos y comportamiento.

Conceptos de POO
Modelado del mundo real
Los atributos o caractersticas del objeto son el equivalente a los datos del objeto ya que tienen valores.

Conceptos de POO
Modelado del mundo real
El comportamiento es una accin que ejecutan los objetos del mundo real como respuesta a un estmulo. Es una funcin que realiza el objeto.

Conceptos de POO
Modelado del mundo real
Los objetos pertenecen o se clasifican en clases. Una clase es una plantilla para crear objetos. Una clase representa algn tipo de entidad en el sistema del mundo real que se modela.

Conceptos de POO
Modelado del mundo real
Una clase es un tipo de datos que contiene datos y funciones. Se representa grficamente en UML con los diagramas de clases.

Conceptos de POO
Modelado del mundo real
Representacin de clase en UML

Conceptos de POO
Modelado del mundo real
Una clase es una descripcin de objetos similares.

Conceptos de POO
Modelado del mundo real
Un objeto es una instancia de una clase.

Conceptos de POO
Modelado del mundo real
Propiedades de la POO
Abstraccin Herencia Polimorfismo Encapsulamiento o encapsulacin Envo de mensajes

Conceptos de POO
Modelado del mundo real
La abstraccin es la propiedad de los objetos. Consiste en considerar solo los aspectos ms importantes desde el punto de vista determinado. Sirve para determinar las propiedades internas de una entidad.

Conceptos de POO
Modelado del mundo real
Qu es y qu hace un objeto. Nos permite conocer la interaccin entre los componentes del modelo.

Conceptos de POO
Modelado del mundo real

Conceptos de POO
Modelado del mundo real
Muebles de oficina No_inventario Nombre Marca Color Materia Ingresan Salen Se asignan

Conceptos de POO
Modelado del mundo real
Un objeto hereda todas las atributos y comportamiento de la clase de la cul proviene. Una clase (clase hijo) tambin puede heredar de otra clase (clase padre).

Conceptos de POO
Muebles

Conceptos de POO
Muebles

Electrodom sticos

Muebles Oficina

Conceptos de POO
Muebles
Nombre Marca Color Material Garanta Ingresan Salen SeAsignan

Electrodomsticos
Instalador GarantaAdicional
ServicioCortesa

MueblesOficina
Estilo Instructivo

Conceptos de POO
Modelado del mundo real
Un objeto tiene comportamiento o funcionalidad El encapsulamiento se oculta la forma de realizar ese comportamiento o funcionalidad.

Conceptos de POO

Conceptos de POO
Modelado del mundo real
El polimorfismo es la habilidad de los objetos de realizar de diferente forma el mismo comportamiento. Es un concepto muy importante en la etapa de desarrollo.

Conceptos de POO

AbrirVentana

Conceptos de POO
Modelado del mundo real
Los objetos trabajan en conjunto. Se logra mediante el envo de mensajes entre ellos. Un objeto enva un mensaje para realizar una operacin. El objeto receptor ejecuta la accin.

Conceptos de POO