Factores ecosistemas: interacciones, energia y dinamica
Unidad 1 Programación Orientada a Objetos (Programación III)
1. REPÚBLICA BOLIVARIANA DE VENEZUELA.
UNIVERSIDAD PEDAGÓGICA EXPERIMENTAL LIBERTADOR.
INSTITUTO DE MEJORAMIENTO PROFESIONAL DEL MAGISTERIO
EXTENSIÓN ACADÉMICA PARAGUANÁ.
CÁTEDRA: ESTRUCTURA DE DATOS Y PROGRAMACION III
TUTOR: RAMÓN LÓPEZ.
REALIZADO POR:
ANGEL AMAYA
C.I: 19.879.742
2. La programación orientada a objetos no debe confundirse con un lenguaje
programación orientado a objetos. En la programación convencional los
programas se dividen en dos componentes: Procedimientos y Datos. Las
estructuras de datos utilizadas en programación son globales o se pasan como
parámetros. En esencia los datos se tratan separadamente de los
procedimientos. En la programación orientada a objetos se combinan los datos y
los procedimientos en una entidad única.
La POO es un paradigma, es otra forma de pensar , es una filosofía única a
diferencia de un Lenguaje de Programación Orientado a Objetos el cual existen
muchos y permiten hacer uso de ese paradigma con el animo de solucionar
problemas reales mediante la abstracción de los diferentes agentes, entidades o
elementos que actúan en el planteamiento de un problema. Podemos decir
también, que este paradigma es una disciplina de diseño de software que facilita
la construcción de sistemas a través de componentes individuales llamados
clases de objetos.
3. ELEMENTO DESCRIPCION
Persona Tiene sus propios atributos: Color piel, Altura, genero, Color ojos, Cabello, etc. Y tiene
un comportamiento: Ver , escuchar, hablar, etc.
Control
Remoto
Tiene sus propios atributos: Tamaño, color, tipo, batería, etc. Y tiene un
comportamiento: Enviar señal, codificar señal, cambiar canal, aumentar volumen,
ingresar a menú, prender TV etc.
Televisor Tiene sus propios atributos: pulgadas, tipo, numero parlantes, marca , etc. Y tiene un
comportamiento: Decodificar señal, prender, apagar, emitir señal, emitir audio, etc.
4. • En el problema planteado se especifican 3 elementos involucrados.
Cada elemento posee sus propias características y sus propios
comportamientos. En POO a estos elementos se les conoce bajo el
nombre de OBJETOS.
• En POO a las características que identifican a cada objeto se le
denominan ATRIBUTOS y a los comportamientos se les denominan
METODOS.
ELEMENTO DESCRIPCION
Persona Tiene sus propios atributos: Color piel, Altura, genero, Color ojos, Cabello, etc. Y tiene
un comportamiento: Ver , escuchar, hablar, etc.
Control
Remoto
Tiene sus propios atributos: Tamaño, color, tipo, batería, etc. Y tiene un
comportamiento: Enviar señal, codificar señal, cambiar canal, aumentar volumen,
ingresar a menú, prender TV etc.
Televisor Tiene sus propios atributos: pulgadas, tipo, numero parlantes, marca , etc. Y tiene un
comportamiento: Decodificar señal, prender, apagar, emitir señal, emitir audio, etc.
ELEMENTOS EN LA
POO
5. En la programación orientada a objetos un programa se divide en
componentes que contienen procedimientos y datos. Cada
componente se considera un objeto. En otras palabras un objeto
es una unidad que contiene datos y las funciones que operan
sobre esos datos.
• Es una instancia de una clase. Por lo tanto, los objetos hacen uso
de los Atributos (variables) y Métodos (Funciones y
Procedimientos) de su correspondiente Clase.
• Es una variable de tipo clase. Por ejemplo: El objeto «Cesar» es
un objeto de tipo Clase: Persona.
• Permiten modelar entidades del mundo real. Por ejemplo: LCD
LG pertenece a la clase Televisor. Resumiendo la clase televisor
seria:
Tipo. De tipo cadena.
Resolución. De tipo cadena
Marca. De tipo cadena.
Emitir_Señal ( )
Emitir_Audio ( )
Decodificar_Señal (señal_entrada)
METODOS
ATRIBUTOS
6. • Como se puede observar un objeto a través de su clase esta
compuesto por 2 partes: Atributos o propiedades y Métodos
que definen el comportamiento de dicho objetos a partir de sus
atributos.
• Los atributos y los métodos pueden ser o no accedidos desde
afuera dependiendo de la solución a plantear. Por lo general
los atributos siempre se ocultan al exterior y algunos métodos
quedan visibles al exterior para convertirse en la interfaz del
objeto. Encapsulamiento.
Tipo. De tipo cadena.
Resolución. De tipo cadena
Marca. De tipo cadena.
Emitir_Señal ( )
Emitir_Audio ( )
Decodificar_Señal (señal_entrada)
METODOS
ATRIBUTOS
7. La primera tarea a la que se enfrenta un diseñador o programador
en POO es la identificación e los objetos inmersos en el problema a
solucionar.
Los objetos generalmente se ubican en las siguientes categorías:
• Cosas Tangibles: Avión, auto, producto, insumo.
• Roles : gerente, cliente, vendedor, auxiliar, empleado.
• Organizaciones o entidades: Empresa, colegio,
proveedor, EPS.
• Cosas intangibles: Vuelos, Servicios, Materias,
programas.
8. Una CLASE es un tipo de dato definido por el usuario que determina las
estructuras de datos y las operaciones asociadas con ese tipo. Las clases son las
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. Cada vez que se construye un objeto de una clase, se crea una
instancia de esa clase. En general, los términos objetos e instancias de una clase
se pueden utilizar indistintamente.
«Una CLASE es una plantilla mediante la cual se crean los diferentes objetos
requeridos para la solución del problema. Los Objetos son instancias de las
clases».
Las clases son a los objetos como los tipos de datos son a las variables.
• Ejemplo: Se puede crear un objeto llamado Cesar. Este objeto es creado a
partir de la clase «Persona». Se puede crear otro objeto llamado: Patricia el
cual pertenece a la clase «Persona». Significa que a partir de la clase se
pueden crear los objetos que se deseen.
• Ejemplo: Se puede crear un objeto llamado LCD LG, el cual pertenece a la
clase: Televisor.
DEFINICIÓN DE
CLASE
9.
10.
11. OTRO EJEMPLO: Se pretende modelar un objeto llamado «CARRO»
el cual existe en el mundo real.
• Este objeto tiene unos atributos o variables: Vel_Max, Color,
No_chasis, No_puertas, No_llantas, tipo.
• Unos comportamientos y métodos: Acelerar (velocidad), Frenar
(velocidad), mover_cambio (No_cambio)…
Vel_max. De tipo decimal.
Color. De tipo cadena.
No_chasis. De tipo cadena.
No_puertas. De tipo entero.
No_llantas. De tipo entero.
Acelerar (Velocidad)
Frenar (Velocidad)
Mover_cambio (No_cambio)
Girar_derecha ( )
Girar_izquierda ( )
METODOS
ATRIBUTOS
CLASE CARRO
12. Las clases no se construyen para que trabajen de manera
aislada, la idea es que ellas se puedan relacionar entre sí, de
manera que puedan compartir atributos y métodos sin
necesidad de rescribirlos.
La posibilidad de establecer jerarquías entre las clases es una
característica que diferencia esencialmente la programación
orientada a objetos de la programación tradicional, ello debido
fundamentalmente a que permite extender y reutilizar el código
existente sin tener que rescribirlo cada vez que se necesite.
Los cuatro tipos de relaciones entre clases son:
• RELACIÓN DE HERENCIA
• RELACIÓN DE AGREGACIÓN
• RELACIÓN DE COMPOSICIÓN
• RELACIÓN DE ASOCIACIÓN
13. Es un tipo de jerarquía de clases, en la que cada subclase
contiene los atributos y métodos de una (herencia simple) o más
superclases (herencia múltiple).
Mediante la herencia las instancias de una clase hija (o
subclase) pueden acceder tanto a los atributos como a los
métodos públicos y protegidos de la clase padre (o superclase).
Cada subclase o clase hija en la jerarquía es siempre una
extensión (esto es, conjunto estrictamente más grande) de la(s)
superclase(s) o clase(s) padre(s) y además incorporar atributos
y métodos propios, que a su vez serán heredados por sus hijas.
14. Representación:
• En la notación algorítmica: Se coloca el nombre de la
clase padre después de la frase Hereda de del
encabezado de la clase y se usan sus atributos y
métodos públicos o protegidos. Ejemplo: Clase Punto3D
Hereda de Punto2D.
• En el diagrama de clases: La herencia se representa
mediante una relación de generalización/especificación,
que se denota de la siguiente forma:
15.
16. Es una relación que representa a los objetos compuestos por
otros objetos. Indica Objetos que a su vez están formados por
otros. El objeto en el nivel superior de la jerarquía es el todo y
los que están en los niveles inferiores son sus partes o
componentes.
Representación en el Diagrama de Clase: La relación forma
parte de, no es más que una asociación, que se denota:
Si motor forma parte de carro, la flecha apunta a la clase motor,
y el diamante va pegado a carro. La multiplicidad es el rango
de cardinalidad permitido que puede asumir la asociación, se
denota LI..LS. Se puede usar * en el limite superior para
representar una cantidad ilimitada (ejemplo: 3..*).
17.
18. Un componente es parte esencial de un elemento. La
relación es más fuerte que el caso de agregación, al punto
que si el componente es eliminado o desaparece, la clase
mayor deja de existir.
Representación en el Diagrama de Clases
La relación de composición, se denota de la siguiente
forma:
19. Es una asociación que se establece cuando dos clases tienen
una dependencia de utilización, es decir, una clase utiliza
atributos y/o métodos de otra para funcionar. Estas dos clases
no necesariamente están en jerarquía, es decir, no
necesariamente una es clase padre de la otra, a diferencia de
las otras relaciones de clases.
El ejemplo mas común de esta relación es de objetos que son
utilizados por los humanos para alguna función, como Lápiz (se
usa para escribir), tenedor (se usa para comer), silla (se usa
para sentarse), etc. Otro ejemplo son los objetos Cajero y
Cuenta.
El Cajero “usa a” la cuenta para hacer las transacciones de
consulta y retiro y verificar la información del usuario.
20. Representación en el Diagrama de Clases
La relación de uso, se denota con una dependencia
estereotipada:
Ejemplos:
22. Es el principio de ignorar aquellos aspectos de un fenómeno
observado que no son relevantes, con el objetivo de concentrarse en
aquellos que si lo son.
Una abstracción denota las características esenciales de un objeto (datos y
operaciones), que lo distingue de otras clases de objetos. Decidir el conjunto
correcto de abstracciones de un determinado dominio, es el problema
central del diseño orientado a objetos. Los mecanismos de abstracción son
usados en el EOO para extraer y definir del medio a modelar, sus
características y su comportamiento.
• Es una de las principales características a tener en cuenta ya que
permite vislumbrar los diferentes agentes u objetos implicados en un
problema.
• Captar los atributos y métodos que conforman cada objeto y la
relación que existen entre ellos.
• Resolver el problema en subproblemas donde cada objeto se haga
cargo de cada subproblema.
• La comunicación entre objetos generan la solución general a todo el
problema. (Divide y vencerás).
23. Es la propiedad del EOO que permite ocultar al mundo exterior la
representación interna del objeto. Esto quiere decir que el objeto puede
ser utilizado, pero los datos esenciales del mismo no son conocidos
fuera de él.
La idea central del encapsulamiento es esconder los detalles y mostrar lo
relevante. Permite el ocultamiento de la información separando el aspecto
correspondiente a la especificación de la implementación; de esta forma,
distingue el "qué hacer" del "cómo hacer". La especificación es visible al
usuario, mientras que la implementación se le oculta.
El encapsulamiento en un sistema orientado a objeto se representa en cada
clase u objeto, definiendo sus atributos y métodos con los siguientes modos
de acceso:
• Público (+) Atributos o Métodos que son accesibles fuera de la clase.
Pueden ser llamados por cualquier clase, aun si no está relacionada con
ella.
• Privado (-) Atributos o Métodos que solo son accesibles dentro de la
implementación de la clase.
• Protegido (#): Atributos o Métodos que son accesibles para la propia
clase y sus clases hijas (subclases).
Los atributos y los métodos que son públicos constituyen la interfaz de la
clase, es decir, lo que el mundo exterior conoce de la misma.
24. • Un objeto sin comunicación con el mundo exterior no es de utilidad. La idea no
es crear islas de objetos si no objetos relacionados.
• Los objetos interactúan entre ellos mediante mensajes.
• Cuando un objeto A quiere que otro objeto B ejecute una de sus funciones
o procedimientos miembro (Métodos de B), el objeto A manda un mensaje
al objeto B.
Llevar ( TV )
•Desatornillar ( )
•Diagnosticar ( )
•Reparar ( )
•Entregar ( ) as TV
Entregar ( )
Persona Técnico
•Ver_TV( )
•Escuchar ( )
•Apagar ( )
•Prender ( )
•Llevar (TV)
Ejemplo: Una persona desea llevar su televisor descompuesto para que sea
arreglado por un técnico.
25. Es una propiedad del EOO que permite que un método tenga múltiples
implementaciones, que se seleccionan en base al tipo objeto indicado al solicitar
la ejecución del método.
El polimorfismo operacional o Sobrecarga operacional permite aplicar operaciones
con igual nombre a diferentes clases o están relacionados en términos de inclusión. En
este tipo de polimorfismo, los métodos son interpretados en el contexto del objeto
particular, ya que los métodos con nombres comunes son implementados de diferente
manera dependiendo de cada clase.
Objeto 2
function Sumar (a,b)
Sumar = a + b
End Function
Objeto 1
Objeto2.sumar (a,b)
Objeto3.sumar
(a,b,c)
Objeto 3
function Sumar (a,b,c)
Sumar = a + b + c
End Function
El objeto 1 invoca a dos métodos que
llevan el mismo nombre, pero funcionan
diferente en cada objeto.