Está en la página 1de 29

UNIVERSIDAD LATINA (UNILA)

INTRODUCCION A LA PROGRAMACIÓN
ORIENTADA A OBJETOS

LE, EI, Profesor Ramón Castro Liceaga


Introducció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.
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.
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.
Diferencias 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.
Conceptos orientados a objetos

• Objeto
• Clase
• Método
• Evento
• Mensaje
• Propiedad o atributo
• Componentes de un objeto
• Representación de un objeto
Características de la POO

Las características mas importantes son:

• Abstracción
• Encapsulamiento
• Principio de ocultación
• Polimorfismo
• Herencia
Que es un paradigma ?
• 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?
Etimologí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".
Antecedentes
• 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.
Que es un 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.
Aspectos 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
Ejemplos 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.
El 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.
Clases 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.
Mé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.
Evento

• 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.
Mensaje

• 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ó.
Propiedad 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.
Estado 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).
Componentes de un objeto

• Los componentes de un objeto son:

• atributos,
• identidad,
• relaciones
• y métodos.
Representación de un objeto

• Un objeto se representa por medio de una tabla


o entidad que esté compuesta por sus atributos
y funciones correspondientes
Tipo

• 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.
Que es un 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.
Tipos de lenguajes

• Existen 4 tipos de LP:


– Lenguaje máquina 00110011
– Lenguaje ensamblador ld a, #10
– Lenguajes de alto nivel for(i=0;i<10;i++)
– Lenguajes orientados a objetos class persona{ }
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.
Lenguaje de programación orientado a objetos

• Entre los lenguajes orientados a objetos destacan los


siguientes:
• Action Script , Ada, C++, C#, Clarion,
C++Builder, D, Delphi, Harbour, Eiffel, Java,
Lexico (en castellano), Objective-C, Ocaml,
Oz, Perl (soporta herencia múltiple), PHP (en
su versión 5) , PowerBuilder, Python, Ruby,
Smalltalk, Magik (SmallWorld), VB.NET Visual
FoxPro , XBase++
• Utilizaremos en nuestros ejemplos el lenguaje
Java en su versión J2SDK.
Lenguaje 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
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

LE, EI, Profesor Ramón Castro Liceaga