Vous êtes sur la page 1sur 7

Tema 2

Caractersticas de La Programacin Orientada a Objetos


Concepto de Abstraccin
Es el proceso en el que el desarrollador lleva la realidad a un modelo
computacional que le permite desarrollar un software que satisfaga las
necesidades del sistema tratado. En POO esto es identificar los objetos y
las clases involucradas en el sistema.
Concepto de Herencia
La herencia es un mecanismo que le permite a una clase tener los atributos y mtodos de
otras clases aparte de los propios.
Retomando el Ejemplo de Clase Persona:
Clase Persona
Atributos:
Nombre
Genero:
Edad:
Estatura o Talla
Color de Piel
Color de ojos
Color de Cabello
Mtodos
Comer
Caminar
Correr
Dormir
Hablar
Fin de Clase Persona
Posterior a esta clase podemos tener una clase AlumnoUta que herede de Persona, pero
contiene atributos y mtodos propios.
Clase AlumnoUta que hereda de Persona
Atributos
Carrera
Cuatrimestre
Mtodos
Estudiar
Hacer Tarea
Pagar Colegiatura
Fin de AlumnoUta

Y podemos tener una clase ProfesorUta que tambin herede a Persona a parte de tener
atributos y mtodos propios.
Clase ProfesorUta hereda de Persona
Atributos
Divisin
Materia {Materia que imparte}
Mtodos
Impartir clase
Pasar Lista
Aplicar Examen
Fin de ProfesorUta
Si analizamos la clase AlumnoUta despus de heredar a la clase Persona tendremos que
la clase AlumnoUta contiene lo siguiente:
Clase AlumnoUta
Atributos
Nombre
Genero:
Edad:
Estatura o Talla
Color de Piel
Color de ojos
Color de Cabello
Carrera
Cuatrimestre
Mtodos
Comer
Caminar
Correr
Dormir
Hablar
Estudiar
Hacer Tarea
Pagar Colegiatura
Fin de AlumnoUta

Si analizamos la clase ProfesorUta despus de heredar a la clase Persona tendremos que


la clase ProfesorUta contiene lo siguiente:
Clase Profesor Uta
Atributos
Nombre
Genero:
Edad:
Estatura o Talla
Color de Piel
Color de ojos
Color de Cabello
Divisin
Materia {Materia que imparte}
Mtodos
Comer
Caminar
Correr
Dormir
Hablar
Impartir clase
Pasar Lista
Aplicar Examen
Fin de ProfesorUta

Concepto de Polimorfismo
El polimorfismo es la caracterstica que tienen los objetos de responder en diferente forma
a los mismos mtodos.
Por Ejemplo:
Agreguemos un mtodo a la clase Persona de la siguiente forma
Clase Persona
Atributos:
Nombre
Genero:
Edad:
Estatura o Talla
Color de Piel
Color de ojos
Color de Cabello
Mtodos
Comer
Caminar
Correr
Dormir
Hablar
Trabajar {Mtodo que se agrego}
Fin de Clase Persona
Y creamos nuevamente una clase ProfesorUta que hereda a clase Persona
Clase ProfesorUta hereda de Persona
Atributos
Divisin
Materia {Materia que imparte}
Mtodos
Fin de ProfesorUta
Luego creamos una clase nueva denominada Medico que tambin hereda a Persona
Clase Mdico que hereda de Persona
Atributos
Especialidad
Hospital donde Trabaja
Mtodos
Fin Clase Mdico

Y tambin creamos una clase Polica que hereda de Persona


Clase Polica que hereda de Persona
Atributos
Delegacin a la que pertenece
Rango {Capitan,Comandante etc.}
Mtodos
Fin de Polica
Si analizamos Cada una de las clases en relacin con los mtodos y atributos que tienen
Clase ProfesorUta hereda Clase Mdico que hereda Clase Polica que hereda de
de Persona
de Persona
Persona
Atributos
Atributos
Atributos
Nombre
Nombre
Nombre
Genero:
Genero:
Genero:
Edad:
Edad:
Edad:
Estatura
Estatura
Estatura
Color de Piel
Color de Piel
Color de Piel
Color de ojos
Color de ojos
Color de ojos
Color de Cabello
Color de Cabello
Color de Cabello
Divisin
Materia
Mtodos
Comer
Caminar
Correr
Dormir
Hablar
Trabajar
Fin de ProfesorUta

Especialidad
Hospital
Mtodos
Comer
Caminar
Correr
Dormir
Hablar
Trabajar
Fin Clase Mdico

Delegacin
Rango
Mtodos
Comer
Caminar
Correr
Dormir
Hablar
Trabajar
Fin de Polica

Si escribimos los algoritmos correspondientes a los primeros 5 mtodos vamos a


encontrar que son iguales. Pero que sucede con el mtodo Trabajar?
Obviamente el trabajo entre un Profesor un Mdico y un polica es diferente.
Ejercicio:
Escribir un algoritmo para el mtodo Trabajar para cada una de las clases anteriores

Concepto de Encapsulamiento

Todas las clases poseen mtodos, es decir las acciones que definen el
comportamiento de los objetos que se encuentran en ella. Sin embargo,
aunque los usuarios de los objetos podemos saber cuales son estos
mtodos, no es necesario que nos enteremos acerca de cmo hace la
clase para implementarlos. A esta propiedad se la denomina
encapsulamiento. Esto es permitir que se perciba la visin externa de
una clase y no su implementacin o visin interna.
Ejemplo:
Supongamos que tenemos una clase denominada Automvil
Clase Automvil
Atributos
Marca
Modelo
Color
Numero de Placa
Pasajeros
Mtodos
Encender
Iniciar Marcha
Acelerar
Frenar
Fin de Clase Automvil
Cuando hacemos uso de un automvil sabemos conducir perfectamente pero no sabemos
como funciona internamente

Encapsulamiento
Publicado por: Juan Sebastian Vanegas
Una de las maneras ms eficientes de mantener la seguridad en las aplicaciones Web y
de Escritorio en cualquier lenguaje de programacin es el Encapsulamiento, adems
de brindar seguridad a las aplicaciones permite tener una organizacin muy precisa a
la hora de desarrollar sin embargo en muchas ocasiones se vuelve tedioso manejar
todos los mtodos de encapsulamiento de un objeto, en especial cuando son muchos
los atributos de la clase.

Empecemos por definir ciertos conceptos bsicos de la programacin orientada a


objetos (POO). Est compuesta por clases, una clase en trminos coloquiales, es el
plano de un objeto, es donde se deben definir todas las caractersticas de los objetos
de la vida real o de objetos abstractos, en POO siempre se habla de dos conceptos
claves: Atributos y Mtodos.

Atributos: Son las caractersticas de los objetos, por ejemplo, los atributos de una
persona son, nombre, apellidos, nmero de documento, estatura, color de piel, peso,
etctera.
Mtodos: Son las funciones o acciones del objeto en caso de la persona, los mtodos
son, caminar, hablar, rer, pensar, gritar, etctera.
Una de las premisas de POO, es que la mayora, sino todos, los atributos de un objeto
deben ser privados, esto para tener seguridad sobre los valores del objeto, pero
entonces...cmo acceder a los atributos de una clase?, la respuesta,
encapsulamiento, los mtodos de encapsulamiento se utilizan slo cuando es
apropiado entregar los datos a otro objeto que solicite la informacin. Un ejemplo por
favor.
Piensa en tus atributos, tienes nombres, apellidos, bla, bla bla, esto ya lo habamos
dicho, todos esos atributos son privados, pero si son privados...porque la gente me
llama por mi nombre? fcil, por los mtodos de encapsulamiento que permiten al
objeto entregar la informacin que sea solicitada por otro objeto... sigamos con el
ejemplo, te encuentras en un Bar, a lo lejos en la penumbra vez una sombra que se
acerca a tu mesa, ests slo/a era de esperarse porque nadie te quiere...(s ests
leyendo esto es porque eres programador, los programadores no tienen amigos, eso
todo el mundo lo sabe)...pero la sombra se sigue acercando, cuando la reducida luz
que se encuentra sobre tu persona, alcanza a iluminar ligeramente al desconocido/a
vez que es lo que estabas esperando, s eres hombre, es la mujer ms hermosa del
mundo y te tiene ganas. S eres mujer es un fulano guapo que te tiene ganas, l/ella
atraves todo el bar para conocer tu atributo privado nombre, tu utilizas t mtodo de
des-encapsulamiento para entregarle a el/la desconocido/a ese valor...pfff entonces,
para qu encapsulo si al final voy a entregar el valor a cualquier desconocido?.
Imagina la misma escena, slo que esta vez no es el amor de tu vida sino un ladrn
que te va a hacer el paseo millonario y que esta vez no est interesado en tu nombre
sino en tu clave de la tarjeta, tu se lo entregas?, NO! por eso es importante
encapsular los atributos de una clase, para que los objetos slo puedan entregar los
valores que sean programados por ti y no por nadie ms.

Ejercicio
Investiga y documenta por lo menos 5 ejemplos de encapsulamiento.
Ejercicio
Seleccionar algn videojuego y cargarlo en tu computadora.
Elaborar un modelo conceptual en el cual identifiques las clases de los objetos que
contiene (atributos y mtodos), encapsulamiento, herencia y polimorfismo.

Vous aimerez peut-être aussi