Title: Diapositiva 1
1UNIVERSIDAD LATINA (UNILA)
INTRODUCCION A LA PROGRAMACIÓN ORIENTADA A
OBJETOS
2Introducció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.
3Que 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.
4Origen
- 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.
5Diferencias 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.
6Conceptos orientados a objetos
- Objeto
- Clase
- Método
- Evento
- Mensaje
- Propiedad o atributo
- Componentes de un objeto
- Representación de un objeto
7Características de la POO
- Las características mas importantes son
- Abstracción
- Encapsulamiento
- Principio de ocultación
- Polimorfismo
- Herencia
8Que 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?
9Etimología
- El término paradigma se origina en la palabra
griega pa??de??µa (paradeigma), que significa
"modelo" o "ejemplo". A su vez tiene las mismas
raíces que pa?ade?????a?, que significa
"demostrar".
10Antecedentes
- 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.
11Que 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.
12Aspectos 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
-
13Ejemplos 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.
14El 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.
15Clases 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.
16Mé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.
17Evento
- 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.
18Mensaje
- 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ó.
19Propiedad 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.
20Estado 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).
21Componentes de un objeto
- Los componentes de un objeto son
- atributos,
- identidad,
- relaciones
- y métodos.
22Representación de un objeto
- Un objeto se representa por medio de una tabla o
entidad que esté compuesta por sus atributos y
funciones correspondientes
23Tipo
- 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.
24Que 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.
25Tipos de lenguajes
- Existen 4 tipos de LP
- Lenguaje máquina 00110011
- Lenguaje ensamblador ld a, 10
- Lenguajes de alto nivel for(i0ilt10i)
- Lenguajes orientados a objetos class persona
26Como 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.
27Lenguaje de programación orientado a objetos
- Entre los lenguajes orientados a objetos destacan
los siguientes - Action Script , Ada, C, C, Clarion,
CBuilder, 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.
28Lenguaje 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
29El 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