Vous êtes sur la page 1sur 38

PROGRAMACIÓN

ORIENTADA A OBJETOS
Msc. Verónica Duarte
PARALELO 3
Cuál es su nombre?
Carrera?
Edad?
Hobby? Serie Favorita?
Conoce algún lenguaje orientado a Objetos?
Qué lenguaje viste en Fundamentos de Programación?
Deshonestidad Académica
• “Todo estudiante que cometa en cualquier evaluación actos de deshonestidad
académica premeditada recibirá como sanción, la primera vez, por lo menos la
automática reprobación de la materia correspondiente.  En caso de reincidir en los
mismos actos, se le anulará la matrícula en forma definitiva en la Institución. En caso
de estudiantes que incurran en actitudes deshonestas circunstanciales durante un
examen o aporte el profesor impedirá la continuación del examen o aporte a dicho
estudiante, el que deberá abandonar la sala correspondiéndole como sanción, por lo
menos, la calificación de CERO en el examen.” ("ESPOL, “Disciplina y Honestidad
Académica", 2016)

ESPOL, Disciplina y Honestidad Académica. (2016). Espol.edu.ec. Retrieved 8 October


2016, from http://www.espol.edu.ec/espol/main.jsp?urlpage=disciplinaestudiantes.jsp 
Objetivos del Curso
Aplicar los conceptos fundamentales de la Programación Orientada a Objetos
(POO): objetos, clases, abstracción, encapsulamiento, herencia, polimorfismo en
la solución de problemas.
Implementar interfaces gráficas y utilizar eventos para dar implementación a
requerimientos de usuario.
Comprender la enorme importancia de crear software fiable, reutilizable y
sostenible.
Distribución de notas
Componente teórico PARCIAL
Descripción Puntaje

Examen 50
Lecciones 5
Proyecto + Avance 22 + 3

Componente Práctico FINAL


Descripción Puntaje
Tareas y talleres 20
INTRODUCCIÓN A LA
PROGRAMACIÓN
ORIENTADA A
OBJETOS
Unidad 1:
• En esta unidad se introducirán conceptos relacionados a:
¿Qué es POO?
• Es un paradigma de la
programación
¿Qué es POO?
¿Qué es un paradigma?
Forma de entender y representar la realidad
Conjunto de teorías, estándares y métodos que, juntos, representan un modo de
organizar el pensamiento, es decir, el modo de ‘ver’ el mundo.
Programación Orientada a Objeto VS.
Programación Estructurada/Procedimental
PROGRAMACIÓN ESTRUCTURADA POO
Descomposición Algorítmica o funcional Descompone el problema en un set de
del problema objetos bien definidos

Pretende resolver un problema de Resuelve un problema identificando sus


principio a fin en una sola estructura de actores e interacciones
código

Es más fácil de entender en primera Es un procedimiento mas intuitivo que


instancia. motiva el reuso de objetos.
¿Qué es un Objeto?
¿Qué es un Objeto?
• Piensen en Objetos del mundo real

propiedades comportamiento

¿Qué estados o atributos puede tener la bicicleta? ¿Qué comportamientos puede tener?
propiedades comportamiento
Un objeto:
Almacena sus estados en campos o atributos (Representados por algún tipo de
variable en un lenguaje de programación)
Expone su comportamiento en a través de métodos (Funciones en algún lenguaje
de programación)
Los métodos actúan directamente sobre los estados del objeto.
El objeto permanece en control de como el mundo de afuera puede usarlo.

Piensen de nuevo en la bicicleta si tengo un comportamiento “Cambiar


Velocidad” afectaría directamente al estado actual de mi objeto. Como? Por
que?
Ejemplo de qué es un objeto
• Qué tendría un elemento que modele un carro?

• Tendría variables que indicarían el estado actual del carro:


• La velocidad es 70 km/h
• 2 Km recorridos
• Marcha actual es la 3ª

• Estas variables corresponden a las de un carro en particular


• Se conocen como variables de instancia o variables miembro
Ejemplo: ¿qué es un objeto?
• El objeto carro podría tener métodos:
• Acelerar
• Frenar
• Cambiar de velocidad

• Estos métodos afectan a una instancia u objeto carro en particular


• Se denominan métodos de instancia o métodos miembro
Modelamiento de un auto como objeto
• Atributos:
• Velocidad
• Recorrido
• Marcha
• Métodos:
• Acelerar
• Frenar
• Cambiar velocidad
Qué es una clase?
Piensen en una clase como un “plano”,
“plantilla” del cual los objetos son creados.
Los objetos no necesariamente van a ser
iguales y se rigen a sus atributos
individuales.

• “Por ende, una clase es una plantilla de


código que provee valores iniciales de
estado (atributos) e implementaciones de
comportamiento (métodos)”

• Entonces un objeto será la instancia de una


clase.
Instanciar una clase
Sinónimo de CREAR.
Se crea un objeto a partir de una clase.
El objeto que se crea tendrá su propio
estado que puede o no ser igual al de
otro objeto del mismo tipo instanciado.
Cada instancia (objeto) creado desde
una clase tiene su propio juego de
variables independientes y distintas de
los demás objetos “hermanos”, pero
todos pueden acceder (leer/modificar)
las propiedades de la clase.
Pilares de la Orientación a Objetos

ABSTRACCIÓN ENCAPSULAMIENTO

HERENCIA POLIMORFISMO
Pilares de la Orientación a Objetos

ABSTRACCIÓN ENCAPSULAMIENTO

HERENCIA POLIMORFISMO
Abstracción
Abstracción
• Es una descripción o especificacion simplificada de un sistema, que enfatiza algunos
de los detalles de un sistema mientras suprime otros.

• Expresa las características esenciales de un objeto, las cuales distinguen al objeto de


los demás
• Concentrarse en lo esencial, ignorar lo irrelevante
• Es una técnica para crear, comprender o manejar sistemas complejos.  

• Una buena abstracción es aquella que enfatiza los detalles que son
significativos para el lector o usuario y suprime los detalles que son, al menos
por el momento, inmateriales o diversionarios.
Pilares de la Orientación a Objetos

ABSTRACCIÓN ENCAPSULAMIENTO

HERENCIA POLIMORFISMO
Encapsulamiento
Encapsulamiento
 Se puede pensar en encapsulamiento como una protección de que los datos
de un objeto sean arbitrariamente modificados o incorrectamente usados por
objetos externos.

 El acceso al código o a la data esta altamente controlado a través de una


interfaz publica.

 La ventaja del código encapsulado es que se sabe como usarlo sin importar
como este implementado
Encapsulamiento
• Ventajas de encapsular
• Capacidad de crear módulos
• El código fuente de un objeto puede escribirse y mantenerse independiente del código
fuente del resto de los objetos.
• Reutilización de objetos

• Protección de información
• Un objeto tendrá una interfaz pública perfectamente definida que otros objetos podrán
usar para comunicarse con él.
• No necesitamos entender cómo funcionan los métodos
Pilares de la Orientación a Objetos

ABSTRACCIÓN ENCAPSULAMIENTO

HERENCIA POLIMORFISMO
Herencia 
La herencia es el proceso en el cual un
objeto adquiere las propiedades de
otro objeto en base a una clasificación
jerárquica.
Una subclase o clase hijo adquirirá
todas las propiedades de su clase
padre.
Pilares de la Orientación a Objetos

ABSTRACCIÓN ENCAPSULAMIENTO

HERENCIA POLIMORFISMO
Polimorfismo
El polimorfismo en biología, se refiere al principio en que un organismo o especie
puede adoptar muchas formas o etapas.
Este principio también puede ser aplicado en la programación Orientada a
Objeto. Por ejemplo, subclases de una clase pueden adoptar sus propios
comportamientos, y a la vez compartir comportamientos de su clase padre.
Generalmente se lo identifica como una interfaz para ser usada en una clase
general de acciones. La acción especifica depende de la naturaleza de la
situación.
Polimorfismo
Ventajas de la Programación Orientada a
Objeto
Reuso de Código:
• Los objetos creados pueden ser reusados a través de diferentes programas
Encapsulación
• Una vez que el objeto es creado el conocimiento de su implementación no es
necesario para su uso.
• Los objetos tienen la habilidad de proteger ciertas partes de si mismo para no ser
alterados.
Beneficios de Diseño
• Sistemas Complejos son difíciles de diseñar, programas Orientados a Objetos
fuerzan a los programadores a planear extensivamente.
Mantenimiento de Software
Recopilando…
Recopilando…
• La POO está basada en el principio de diseño recursivo:
• Todo son objetos.
• Los objetos funcionan haciéndose peticiones de uno a otro mediante paso de
mensajes.
• Cada objeto es un ejemplar (instancia) de una clase. Una clase agrupa objetos
similares.
• La clase es el repositorio del comportamiento asociado con un objeto.
• Las clases están organizadas en una estructura arbórea que se denomina
jerarquía de herencia.
NetBeans IDE 8.2
Download: https://netbeans.org/downloads/
Trabajo Autónomo

• Instalar Net Beans en sus computadores


• Leer el libro guía desde página 23 a la 40 (también
encontrarán la tarea en sidweb).

Vous aimerez peut-être aussi