1Introduccion a La POO

Post on 12-Jan-2016

226 views 0 download

description

introducción programacion orientada a objetos

Transcript of 1Introduccion a La POO

Taller de Programación I

Introducción a la POORoman Gajardo

Agenda

Programación Orientada a Objetos• Es una manera de construir software basada

en un nuevo de paradigma.

• Propone resolver problemas de la realidad a través de identificar objetos y relaciones de colaboración entre ellos.

• El objeto y el mensaje son sus elementos fundamentales

Que es una clase?

• Clase Clasificación• Clasificación en base a comportamiento y

atributos comunes.• Crea un vocabulario

• La forma en que nos comunicamos• La forma en que pensamos.

Que es una clase?

• Describe:• Comportamiento común• Atributos [estado]

• Estructuras de datos• Incluye:

• Datos• Funciones o métodos

Que es una clase?

• Representa un modelo o un plano, del cual se pueden crear instancias u objetos

Que es una clase?

• representación

Que es un objeto?

• Instancia de una clase• Un objeto posee

• Identidad: relación única entre el objeto del modelo y el ente de la realidad que representa.

• Comportamiento: resuelve un conjunto particular de problemas a través de su protocolo.

• Estado: Almacena información• Fija

• Variable

Pilares de la POO

PolimorfismoPolimorfismoHerenciaHerencia

AbstracciónAbstracción

EncapsulamientoEncapsulamiento

Abstracción

• Ignorancia selectiva• Decide que es importante y que no lo es• Utiliza la encapsulación para reforzar la

abstracción

Encapsulamiento

Acelera()

velocidad

Frena()

125 km/h

40 km/h

300 km/h

Por que utilizar encapsulamiento?

• Dos grandes razones• Control• cambio

Encapsulamiento

• Los métodos son públicos: son accesibles desde fuera

• Los datos son privados: accesibles desde dentro.

Acelera()

velocidad

Frena()

Controlador del Motor

Encapsulamiento

• Color: Azul• Color2: Gris• Instrumental Digital• Ventanas Eléctricas• 4 asientos

• Describe los objetos de forma individual

• Color: Verde• Color2: Blanco• Instrumental Digital• 2 asientos

Datos estáticos

• Describen información para todos los objetos

• Numero de llantas: 4• Capacidad del tanque: 40 litros

Métodos estáticos

• Sólo pueden acceder a datos compartidos por todas las instancias de la clase-

• Encapsula los datos estáticos• Son invocados en la clase, no en el objeto

• No es necesaria la creación de una instancia para invocarlos.

Métodos Estáticos

Automóvil

NumeroLlantas()CapacidadTanque()TipoTransmision()

llantastanque

transmision

Herencia

• Es ‘un tipo de’ relación• Relación ‘es un’

• Entre clases• Va de la generalización a la especialización• Clase base• Clase derivada• Hereda la implementación

Automóvil

Transporte

Acelera

Frena

Jerarquía de Herencia Ejemplo

Herencia

• Singular: La clase hija deriva de una única clase padre.

• Múltiple: La clase hija deriva de varias clases padre.

• No es soportada por todos los lenguajes• Puede ser confusa

1-Persona TerrestreNieve

METODOS.

AQ&Q U E S T I O N SQ U E S T I O N S

A N S W E R SA N S W E R S