le, ei, profesor ramón castro liceaga universidad latina (unila) introduccion a la programaciÓn...

29
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

Upload: jaime-sol

Post on 06-Feb-2015

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

LE, EI, Profesor Ramón Castro Liceaga

UNIVERSIDAD LATINA (UNILA)

INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

Page 2: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

IntroducciónIntroducción

• La programación orientada a objetos es un enfoque de programación de los más populares y viene teniendo gran aceptación en el desarrollo de proyectos de software.

Page 3: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

Que es la Programación Orientada a Objetos ?Que es la Programación Orientada a Objetos ?

• Es un estilo de programación en que cada programa es visto como un objeto se forma por una serie de componentes, autocontenidos que cooperan para realizar las acciones de la aplicación completa.

Page 4: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

Origen Origen

• Los conceptos de la programación orientada a objetos tienen origen en Simula 67, un lenguaje diseñado para hacer simulaciones, creado por Ole-Johan Dahl y Kristen Nygaard del Centro de Cómputo Noruego en Oslo.

Page 5: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

Diferencias con la programación estructuradaDiferencias con la programación estructurada

• Las principales diferencias entre la programación estructurada y la orientada a objetos son:

• La programación orientada a objetos es más moderna, es una evolución de la programación estructurada

• La programación orientada a objetos se basa en lenguajes que soportan sintáctica y semánticamente la unión entre los tipos abstractos de datos y sus operaciones (a esta unión se la suele llamar clase).

• La programación orientada a objetos incorpora en su entorno de ejecución mecanismos tales como el polimorfismo y el envío de mensajes entre objetos. .

Page 6: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

ConceptosConceptos orientados a objetos orientados a objetos

• Objeto • Clase • Método • Evento • Mensaje• Propiedad o atributo • Componentes de un objeto• Representación de un objeto

Page 7: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

CaracterísticasCaracterísticas de la POO de la POO

Las características mas importantes son:

•Abstracción

•Encapsulamiento

•Principio de ocultación

•Polimorfismo

•Herencia

Page 8: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

Que es un Que es un paradigmaparadigma ? ?

• Paradigma: Modo de Pensar expresado en breve (Un punto de vista personal, una metáfora, un esquema-mental, una visión del Mundo o cosmovisión)

• Por ejemplo: ¿Cómo pensaba la gente que era la Tierra antes de 1492?

Page 9: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

EtimologíaEtimología

• El término paradigma se origina en la palabra griega παράδειγμα (paradeigma), que significa "modelo" o "ejemplo". A su vez tiene las mismas raíces que παραδεικνύναι, que significa "demostrar".

Page 10: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

AntecedentesAntecedentes

• 1960 un modelo o patrón en cualquier disciplina científica u otro contexto epistemológico.

• 1900 el diccionario Merriam-Webster definía su uso solamente en tal contexto, o en retórica para referirse a una parábola o a una fábula. En lingüística, Ferdinand de Saussure ha usado paradigma para referirse a una clase de elementos con similitudes.

Page 11: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

Que es un Que es un paradigma de programación paradigma de programación ??

• El paradigma de programación representa un enfoque particular o filosofía para la construcción del software.

• El enfoque no es mejor uno que otro sino que cada uno tiene ventajas y desventajas. También hay situaciones donde un paradigma resulta más apropiado que otro.

Page 12: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

AspectosAspectos que comprende ? que comprende ?

• El paradigma de programación se refiere a:¿Estilo de Programación?

Manera de Visualizar y Resolver Problemas de Programación Procedural, Imperativo

Lógico, Declarativo Visual

Paralelo Orientado a Objetos

Filosofía Historia, Objetivos y Metas

Modelos y Enfoques Conceptos Principios

Soporte Notación, Metodologías

Herramientas y Tecnologías

Page 13: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

EjemplosEjemplos de paradigmas de programación ? de paradigmas de programación ?

• El paradigma imperativo o por procedimientos es considerado el más común y está representado, por ejemplo, por el C o por BASIC.

• El paradigma funcional está representado por la familia de lenguajes LISP (en particular Scheme), ML o Haskell.

• El paradigma lógico, un ejemplo es PROLOG. • El paradigma orientado a objetos. Un lenguaje

completamente orientado a objetos es Smalltalk.

Page 14: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

El El mas utilizado mas utilizado ??

• Actualmente el paradigma de programación más usado debido a múltiples ventajas respecto a sus anteriores, es la programación orientada a objetos.

Page 15: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

Clases y ObjetosClases y Objetos

• Objeto es la entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos). Corresponden a los objetos reales del mundo que nos rodea, o a objetos internos del sistema (del programa). Es una instancia a una clase.

• Las Clases son definiciones de las propiedades y comportamiento de un tipo de objeto concreto. La instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ellas.

Page 16: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

MétodoMétodo

• Es un algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena tras la recepción de un "mensaje". Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Un método puede producir un cambio en las propiedades del objeto, o la generación de un "evento" con un nuevo mensaje para otro objeto del sistema.

Page 17: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

EventoEvento

• Es un suceso en el sistema (tal como una interacción del usuario con la máquina, o un mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente. También se puede definir como evento, a la reacción que puede desencadenar un objeto, es decir la acción que genera.

Page 18: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

MensajeMensaje

• Es una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos con ciertos parámetros asociados al evento que lo generó.

Page 19: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

PropiedadPropiedad o atributo o atributo

• Es contenedor de un tipo de datos asociados a un objeto (o a una clase de objetos), que hace los datos visibles desde fuera del objeto y esto se define como sus características predeterminadas, y cuyo valor puede ser alterado por la ejecución de algún método.

Page 20: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

Estado internoEstado interno

• Es una propiedad invisible de los objetos, que puede ser únicamente accedida y alterada por un método del objeto, y que se utiliza para indicar distintas situaciones posibles para el objeto (o clase de objetos).

Page 21: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

Componentes de un objetoComponentes de un objeto

• Los componentes de un objeto son:

• atributos,

• identidad,

• relaciones

• y métodos.

Page 22: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

RepresentaciónRepresentación de un objeto de un objeto

• Un objeto se representa por medio de una tabla o entidad que esté compuesta por sus atributos y funciones correspondientes

Page 23: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

TipoTipo

• Es un conjunto de firma de métodos con un nombre que lo identifica. Un tipo puede ser definido a través de una Clase o una Interface.

Page 24: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

Que es un Que es un lenguaje de programación lenguaje de programación • Un lenguaje de programación es un idioma artificial diseñado

para expresar procesos que pueden ser llevadas a cabo por máquinas como las computadoras.

• Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones.

• Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático se le llama programación.

• Es aquel que utilizamos para poder transmitir ordenadamente nuestras ideas a una computadora.

Page 25: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

Tipos de lenguajes Tipos de lenguajes

• Existen 4 tipos de LP:

– Lenguaje máquina 00110011

– Lenguaje ensamblador ld a, #10

– Lenguajes de alto nivelfor(i=0;i<10;i++)

– Lenguajes orientados a objetos class persona{ }

Page 26: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

Como se clasifican Como se clasifican

• Lenguajes imperativos. Utilizan instrucciones como unidad de trabajo de los programas (Cobol, Pascal, C, Ada).

• Lenguajes declarativos. Los programas se construyen mediante descripciones de funciones o expresiones lógicas (Lisp, Prolog).

• Lenguajes orientados a objetos. El diseño de los programas se basa mas en los datos y su estructura. La unidad de proceso es el objeto y en el se incluyen los datos (variables) y las operaciones que actúan sobre ellos (Java, Smalltalk, C++).

• Lenguajes orientados al problema. Diseñados para problemas específicos, principalmente de gestión, suelen ser generadores de aplicaciones. (Lenguajes de 4ª Generacion 4GL, Progress, ABAP, ORACLE)

• Lenguajes naturales. Están desarrollándose nuevos lenguajes con el principal objetivo de aproximar el diseño y construcción de programas al lenguaje de las personas.

Page 27: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

Lenguaje de programación orientado a objetosLenguaje de programación orientado a objetos

• Entre los Entre los lenguajes orientados a objetos lenguajes orientados a objetos destacan los destacan los siguientes:siguientes:

• Action Script , Ada, C++, C#, Clarion, C+Action Script , Ada, C++, C#, Clarion, C++Builder, D, Delphi, Harbour, Eiffel, Java, +Builder, D, Delphi, Harbour, Eiffel, Java, Lexico (en castellano), Objective-C, Ocaml, Lexico (en castellano), Objective-C, Ocaml, Oz, Perl (soporta herencia múltiple), PHP (en Oz, Perl (soporta herencia múltiple), PHP (en su versión 5) , PowerBuilder, Python, Ruby, su versión 5) , PowerBuilder, Python, Ruby, Smalltalk, Magik (SmallWorld), VB.NET Visual Smalltalk, Magik (SmallWorld), VB.NET Visual FoxPro , XBase++FoxPro , XBase++

• Utilizaremos en nuestros ejemplos el lenguaje Utilizaremos en nuestros ejemplos el lenguaje Java en su versión J2SDK.Java en su versión J2SDK.

Page 28: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

Lenguaje Java orientado a objetosLenguaje Java orientado a objetos

• El diseño orientado a objeto puede ser programado en cualquier lenguaje.

• Los desarrollos se organizan alrededor de los datos, y no de las funcionalidades.

• Afortunadamente han aparecido nuevos lenguajes que facilitan la programación orientada a objetos, como es el caso de Java.

• En adelante para explicar las funcionalidades de programación orientadas a objetos adoptaremos código de Java como ejemplo

Page 29: LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A OBJETOS

LE, EI, Profesor Ramón Castro Liceaga

El Paradigma de la orientación a objetos

PRACTICA # 01

•Instalación y prueba de un lenguaje de programación orientado a objetos: Java con Netbeans IDE