Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CARRERA:
INGENIERA DE SISTEMAS
ALUMNA:
JOSSELIN LOOR SABANDO
Abstraccin
La pregunta que hago es Cules son los comportamientos que tienen todos los
vehculos? con base a esta pregunta, automticamente fluye nuestra abstraccin del
comportamiento de un vehculo.
1. Encender Vehculo
2. Apagar Vehculo
3. Acelerar Vehculo
4. Frenar Vehculo
5. Retroceder Vehculo
6. Parabrisas Vehculo
Y podra listar el comportamiento del vehculo, ahora para que ustedes puedan
ejercitar lo aprendido, pueden realizar abstracciones de objetos, incluyendo sus
caractersticas y el comportamiento.
Encapsulamiento
Es el proceso de almacenar en una misma seccin los elementos de una
abstraccin que constituyen su estructura y su comportamiento; sirve para
separar el interfaz contractual de una abstraccin y su implantacin.
Existen tres niveles de acceso para el encapsulamiento:
Pblico (Public): Todos pueden acceder a los datos o mtodos de una clase
que se definen con este nivel, este es el nivel ms bajo, esto es lo que t
quieres que la parte externa vea.
Protegido (Protected): Podemos decir que ests no son de acceso pblico,
solamente son accesibles dentro de su clase y por subclases.
Privado (Private): En este nivel se puede declarar miembros accesibles slo
para la propia clase.
Voy a hacer un pequeo ejemplo, no usar ningn lenguaje de Programacin
Orientado a Objetos, debido a que el Curso es Programacin Orientada a
Objetos en General. El Ejemplo del Vehculo nuevamente, Usaremos la
caracterstica COLOR.
Contexto 1: Se necesita que cualquiera pueda acceder al
color de un vehculo, entonces:
Opcin a: Declaro entonces COLOR como Privado
Opcin b: Declaro entonces COLOR como Protegido
Opcin c: Declaro entonces COLOR Como Pblico
Claro!, S escogiste la Opcin C, te has Ganado un pase al siguiente
ejemplo, de lo contrario vuelve a darle un repaso a los niveles de acceso.
Contexto 2: Se necesita qu color se pueda acceder a
travs no slo de vehculo, s no ahora tambin de Buses,
y como todos sabemos un bus es un tipo de vehculo,
entonces tambin deber tener acceso a color.
Opcin a: Declaro entonces COLOR como Privado
Opcin b: Declaro entonces COLOR como Protegido
Opcin c: Declaro entonces COLOR Como Pblico
Correcta Opcin b
Mensajes
Un objeto por s solo no tiene mucho significado. Ejemplo: el objeto "bicicleta"
no tiene mucho sentido si no interacta con un objeto "persona" que pedalee.
La interaccin entre objetos se produce mediante mensajes. Los mensajes son
llamados a mtodos de un objeto en particular.
Podemos decir que el objeto persona enva el mensaje "girar a la izquierda" al
objeto bicicleta.
1. El objeto destino, hacia el cual el mensaje es enviado
2. El nombre del mtodo a llamar
3. Los parmetros solicitados por el mtodo
POLIMORFISMO
Otra propiedad importante de la programacin orientada a objetos es
el polimorfismo. Esta propiedad, en su concepcin bsica, se encuentra en casi
todos los lenguajes de programacin. El polimorfismo, en su expresin ms
simple, es el uso de un nombre o un smbolo para representar o significar ms
de una accin.
Esta propiedad permite que un mismo mtodo se comporte de forma distinta
dependiendo de que objeto lo est ejecutando. Por ejemplo, todos los
mamferos tienen el mtodo comer, pero este mtodo se efectuara de forma
distinta si este mamfero es un ciervo comiendo hierba, un len comiendo
carne, una ballena comiendo plancton o un nio comindose un caramelo.
La gran ventaja ofrecida por el polimorfismo es permitir que los nuevos tipos de
datos sean manipulados de forma similar que los tipos de datos predefinidos,
logrando as ampliar el lenguaje de programacin de una forma ms ortogonal.
Funcin
Funcin
Funcin miembro
Funcin miembro
Funcin miembro
Datos
Datos
Datos
Mtodo_1
Mtodo_2
Mtodo_3
El mtodo_1 llama al mtodo_2, envindole un mensaje
El mtodo_3 se invoca por un mensaje de otro objeto
Sumar
HERENCIA
Una de las herramientas disponibles en lenguajes orientados a objetos ms
potente es la herencia. Esta propiedad permite a los objetos ser construidos a
partir de otros objetos. El objetivo final es la reutilizabilidad o reutilizacin, es
decir, reutilizar cdigo anteriormente ya desarrollado.
La herencia supone una clase base y una jerarqua de clases que contiene
las clases derivadas de la clase base. Las clases derivadas pueden heredar el
cdigo y los datos de su clase base, aadiendo su propio cdigo especial y
datos a ellas, incluso cambiar aquellos elementos de la clase base que
necesita sean diferentes.
Clase Base
Clase derivada Clase derivada Clase derivada
1 HERENCIA SIMPLE (Herencia jerrquica)
En esta jerarqua cada clase tiene como mximo una sola superclase. La
herencia simple permite que una clase herede las propiedades de su
superclase en una cadena jerrquica.
2 HERENCIA MLTIPLE (Herencia en malla)
Una malla o retcula consta de clases, cada una de las cuales puede tener una
o ms superclases inmediatas. Una herencia mltiple es aquella en la que cada
clase puede heredar mtodos y variables de cualquier nmero de superclases.
La clase C tiene dos superclases, A y D. Por consiguiente, la clase C hereda
las propiedades de las clases A y D. Evidentemente, esta accin puede
producir un conflicto de nombres, donde la clase C hereda las mismas
propiedades de A y D.
Herencia repetida
Otro de los problemas graves que produce la herencia mltiple es la herencia
repetida. Este tipo de herencia se produce cuando una clase hereda de dos o
ms superclases que a su vez heredan de la misma superclase. La mayora de
los lenguajes de programacin no permiten la duplicacin esttica de la
superclase, pero eso no se producir siempre, y as se puede dar el caso de
que el compilador duplique la clase que se hereda dos o ms veces.