Date post: | 22-Jan-2018 |
Category: |
Education |
Upload: | servicio-tecnico-de-computadoras |
View: | 69 times |
Download: | 1 times |
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
La programación orientada a objetos no debe confundirse con un lenguajeprogramación orientado a objetos. En la programación convencional losprogramas se dividen en dos componentes: Procedimientos y Datos. Lasestructuras de datos utilizadas en programación son globales o se pasan comoparámetros. En esencia los datos se tratan separadamente de losprocedimientos. En la programación orientada a objetos se combinan los datos ylos 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.
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.
• En el problema planteado se especifican 3 elementos involucrados.Cada elemento posee sus propias características y sus propioscomportamientos. En POO a estos elementos se les conoce bajo elnombre de OBJETOS.
• En POO a las características que identifican a cada objeto se ledenominan ATRIBUTOS y a los comportamientos se les denominanMETODOS.
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
En la programación orientada a objetos un programa se divide encomponentes que contienen procedimientos y datos. Cadacomponente se considera un objeto. En otras palabras un objetoes una unidad que contiene datos y las funciones que operansobre esos datos.
• Es una instancia de una clase. Por lo tanto, los objetos hacen usode los Atributos (variables) y Métodos (Funciones yProcedimientos) de su correspondiente Clase.
• Es una variable de tipo clase. Por ejemplo: El objeto «Cesar» esun objeto de tipo Clase: Persona.
• Permiten modelar entidades del mundo real. Por ejemplo: LCDLG pertenece a la clase Televisor. Resumiendo la clase televisorseria:
Tipo. De tipo cadena.Resolución. De tipo cadenaMarca. De tipo cadena.
Emitir_Señal ( )Emitir_Audio ( )Decodificar_Señal (señal_entrada)
METODOS
ATRIBUTOS
• Como se puede observar un objeto a través de su clase estacompuesto por 2 partes: Atributos o propiedades y Métodosque definen el comportamiento de dicho objetos a partir de susatributos.
• Los atributos y los métodos pueden ser o no accedidos desdeafuera dependiendo de la solución a plantear. Por lo generallos atributos siempre se ocultan al exterior y algunos métodosquedan visibles al exterior para convertirse en la interfaz delobjeto. Encapsulamiento.
Tipo. De tipo cadena.Resolución. De tipo cadenaMarca. De tipo cadena.
Emitir_Señal ( )Emitir_Audio ( )Decodificar_Señal (señal_entrada)
METODOS
ATRIBUTOS
La primera tarea a la que se enfrenta un diseñador o programadoren POO es la identificación e los objetos inmersos en el problema asolucionar.
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.
Una CLASE es un tipo de dato definido por el usuario que determina lasestructuras de datos y las operaciones asociadas con ese tipo. Las clases son lasdefiniciones 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 apartir de ellas. Cada vez que se construye un objeto de una clase, se crea unainstancia de esa clase. En general, los términos objetos e instancias de una clasese pueden utilizar indistintamente.
«Una CLASE es una plantilla mediante la cual se crean los diferentes objetosrequeridos para la solución del problema. Los Objetos son instancias de lasclases».
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 apartir de la clase «Persona». Se puede crear otro objeto llamado: Patricia elcual pertenece a la clase «Persona». Significa que a partir de la clase sepueden crear los objetos que se deseen.
• Ejemplo: Se puede crear un objeto llamado LCD LG, el cual pertenece a laclase: Televisor.
DEFINICIÓN DE
CLASE
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
Las clases no se construyen para que trabajen de maneraaislada, la idea es que ellas se puedan relacionar entre sí, demanera que puedan compartir atributos y métodos sinnecesidad de rescribirlos.
La posibilidad de establecer jerarquías entre las clases es unacaracterística que diferencia esencialmente la programaciónorientada a objetos de la programación tradicional, ello debidofundamentalmente a que permite extender y reutilizar el códigoexistente 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
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.
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:
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..*).
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:
Es una asociación que se establece cuando dos clases tienenuna dependencia de utilización, es decir, una clase utilizaatributos y/o métodos de otra para funcionar. Estas dos clasesno necesariamente están en jerarquía, es decir, nonecesariamente una es clase padre de la otra, a diferencia delas otras relaciones de clases.
El ejemplo mas común de esta relación es de objetos que sonutilizados por los humanos para alguna función, como Lápiz (seusa para escribir), tenedor (se usa para comer), silla (se usapara sentarse), etc. Otro ejemplo son los objetos Cajero yCuenta.
El Cajero “usa a” la cuenta para hacer las transacciones deconsulta y retiro y verificar la información del usuario.
Representación en el Diagrama de Clases
La relación de uso, se denota con una dependencia
estereotipada:
Ejemplos:
Es el principio de ignorar aquellos aspectos de un fenómenoobservado que no son relevantes, con el objetivo de concentrarse enaquellos que si lo son.
Una abstracción denota las características esenciales de un objeto (datos yoperaciones), que lo distingue de otras clases de objetos. Decidir el conjuntocorrecto de abstracciones de un determinado dominio, es el problemacentral del diseño orientado a objetos. Los mecanismos de abstracción sonusados en el EOO para extraer y definir del medio a modelar, suscaracterísticas y su comportamiento.
• Es una de las principales características a tener en cuenta ya quepermite vislumbrar los diferentes agentes u objetos implicados en unproblema.
• Captar los atributos y métodos que conforman cada objeto y larelación que existen entre ellos.
• Resolver el problema en subproblemas donde cada objeto se hagacargo de cada subproblema.
• La comunicación entre objetos generan la solución general a todo elproblema. (Divide y vencerás).
Es la propiedad del EOO que permite ocultar al mundo exterior larepresentación interna del objeto. Esto quiere decir que el objeto puedeser utilizado, pero los datos esenciales del mismo no son conocidosfuera de él.
La idea central del encapsulamiento es esconder los detalles y mostrar lorelevante. Permite el ocultamiento de la información separando el aspectocorrespondiente a la especificación de la implementación; de esta forma,distingue el "qué hacer" del "cómo hacer". La especificación es visible alusuario, mientras que la implementación se le oculta.
El encapsulamiento en un sistema orientado a objeto se representa en cadaclase u objeto, definiendo sus atributos y métodos con los siguientes modosde 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 conella.
• Privado (-) Atributos o Métodos que solo son accesibles dentro de laimplementación de la clase.
• Protegido (#): Atributos o Métodos que son accesibles para la propiaclase y sus clases hijas (subclases).
Los atributos y los métodos que son públicos constituyen la interfaz de laclase, es decir, lo que el mundo exterior conoce de la misma.
• Un objeto sin comunicación con el mundo exterior no es de utilidad. La idea noes 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 funcioneso procedimientos miembro (Métodos de B), el objeto A manda un mensajeal 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 seaarreglado por un técnico.
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 2function Sumar (a,b)
Sumar = a + b
End Function
Objeto 1Objeto2.sumar (a,b)
Objeto3.sumar
(a,b,c)
Objeto 3function 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.