You are on page 1of 61

FUNDAMENTOS DE PROGRAMACIÓN

Unidad I
Fundamentos de Programación Orientada a Objetos

Objetivo del Curso
• Analizar y solucionar problemas informáticos y representar su solución mediante herramientas de software orientado a objetos.

para conocer sus peculiaridades frente a la programación estructurada. • Comprender los conceptos de la programación orientada a objetos. . y su aplicación en situaciones del mundo real.Unidad I Objetivo de la Unidad • Analizar la evolución de los paradigmas de programación para comprender las bases de la POO.

3 Lenguajes orientados a objetos 1. .Unidad I 1. 1.1 Evolución de la programación.5 Papel de clases y objetos en el análisis y el diseño. 1.4 Relaciones entre clases y objetos. 1.2 Conceptos fundamentales de la Programación Orientada a Objetos.

Antecedentes • Computadora – Dispositivo electrónico para procesar información 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 realizarán 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 información realizado por la computadora – Procesa y manipula la información (datos o programas) almacenada en la memoria – Puede almacenar resultados .

Antecedentes Modelo de Von Neumann .

. insumos o resultados de un fenómeno.Antecedentes • Dato: Es un hecho aislado no evaluado ni significativo o bien.

.Antecedentes • Información: Es un conjunto de datos homogéneos relacionados entre sí que significa un aumento de conocimientos importantes para el usuario.

Antecedentes • Información: Es el significado que una persona asigna a los datos. .

.Antecedentes • Información: La información es un dato o un conjunto de datos evaluados por un individuo concreto que trabaja en un momento dado sobre un problema específico para alcanzar un objetivo determinado.

Antecedentes .

Antecedentes .

.Antecedentes • Información: – Se codifica en patrones de bits (ceros y unos) que sean fácilmente almacenables y procesables por los elementos internos de la computadora.

Antecedentes Las formas de información más significativas son: Textos Sonidos Imágenes Valores numéricos .

Antecedentes • Representación de textos: – Caracteres alfabéticos A.. 4. X.. 2. 9 sistema decimal – Caracteres especiales { } Ñ ñ ! ? & > # ç . Y.. . c. . a. . Z – Caracteres numéricos 0.. C. Y. 7. 3.. 5. b. X. D. . 8. Z. B.. 1. E. 6.

. etc. tabulación. retorno de carro. – Caracteres de control Salto de línea..Antecedentes • Representación de textos: – Caracteres geométricos y gráficos | — | | — ♠ . .

Antecedentes • Códigos para representación de textos: EBCDIC ASCII Unicode .

13671875)10 = (BF460000)16 .Antecedentes • Representación de valores numéricos: – Enteros (10)10 = (0000 0000 0000 0000 0000 0000 0000 1010) 2 – Reales (-0.

entendibles por el humano. .Evolución de la programación • Lenguaje de programación – Un sistema de símbolos que juntos hacen notaciones o instrucciones. para describir una tarea o cálculo que realizará una máquina.

Evolución de la programación Los 40´S Lenguaje máquina Programación de bajo nivel • El lenguaje máquina es una representación de instrucciones entendidas por la Unidad de Control de la CPU. .

Evolución de la programación .

Evolución de la programación Inicios de los 50´s Lenguaje ensamblador Programación de nivel medio o ensamblador • Cada operación del microprocesador (opcode) se representa por un nombre y los operandos (direcciones de memoria) • Utiliza expresiones simples expresadas por una combinación de nombres y operaciones aritméticas simples • Los programas en ensamblador se traducen a lenguaje máquina para poder ejecutarlos .

Evolución de la programación .

Evolución de la programación 1954.1958 FORTRAN I ALGOL Programación monolítica • Cada instrucción se escribe en una línea o sentencia • Utiliza expresiones • Código secuencial que se ejecuta de inicio a fin .

Evolución de la programación .

Evolución de la programación 1959 .1961 FORTRAN II Programación ALGOL 60 procedural COBOL • Cada instrucción se escribe en una línea o sentencia • Utiliza expresiones • Uso de subprogramas para hacer mas legibles y mantenibles los programas. • Evita la repetición de código .

Evolución de la programación COBOL .

Evolución de la programación 1962 .1970 Pascal C BASIC Programación estructurada • Cada instrucción se escribe en una línea o sentencia • Utiliza expresiones • Uso de subprogramas • Independencia de los datos con respecto al programa .

Evolución de la programación Pascal .

Evolución de la programación 1980 a la fecha Simula Smalltalk C++ Java Ruby Phyton Programación Orientada a Objetos • Método efectivo para la solución 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 programación estructurada .

Evolución de la programación C++ .

) . etc. aviones. cuentas de banco. teléfonos.Conceptos de POO • Modelado del mundo real – En el mundo físico se trata con objetos físicos (personas. autos.

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 características 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 acción que ejecutan los objetos del mundo real como respuesta a un estímulo. – Es una función que realiza el objeto.

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

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

Conceptos de POO • Modelado del mundo real Representación de clase en UML .

Conceptos de POO • Modelado del mundo real – Una clase es una descripción 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 • • • • • Abstracción Herencia Polimorfismo Encapsulamiento o encapsulación Envío de mensajes .

– Consiste en considerar solo los aspectos más importantes desde el punto de vista determinado. – Sirve para determinar las propiedades internas de una entidad. .Conceptos de POO • Modelado del mundo real – La abstracción es la propiedad de los objetos.

.Conceptos de POO • Modelado del mundo real – Qué es y qué hace un objeto. – Nos permite conocer la interacción 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 cuál proviene. . – Una clase (clase hijo) también 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 Garantía Ingresan Salen SeAsignan Electrodomésticos Instalador GarantíaAdicional ServicioCortesía 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 .

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

Conceptos de POO AbrirVentana .

– Se logra mediante el envío de mensajes entre ellos. – El objeto receptor ejecuta la acción. . – Un objeto envía un mensaje para realizar una operación.Conceptos de POO • Modelado del mundo real – Los objetos trabajan en conjunto.

Conceptos de POO .