Documente Academic
Documente Profesional
Documente Cultură
DCE0_FundamentosDeProgramacion
DCE0_ProgramacionOO_C#_VBNET
CARACTERSTICAS POO
ABSTRACCIN
Ignorancia Selectiva
Se enfoca en lo importante
(1)http://www.joanballestermoragues.com/blog/ingenieria-software/analisis-sistemas/programacion-orientada-a-objetos-
herencia.html
(2) http://www.pol.una.py/archivos/asi/paradigmas/01ConceptosOO.pdf
Mayor Cantidad del tema, tomado de: (Programador 5 Estrellas)
DCE0_FundamentosDeProgramacion
DCE0_ProgramacionOO_C#_VBNET
HERENCIA Clase
Es una relacin entre clases en la cual una clase Base
comparte la estructura y comportamiento definido en Transporte
otra clase (Grady Booch) -pasajeros
+Avanzar()
Cada clase que hereda de otra posee: +Detenerse()
Principio que establece que los atributos propios de un objeto no deben ser visibles desde
otros objetos
Permite exponer el estado del objeto slo a travs del comportamiento que le hayamos
definido mediante miembros pblicos
Por qu es til?
Punto de Control/Validacin
Otro de los pilares de la orientacin a objetos es el encapsulamiento. Para entender este principio
veamos un ejemplo prctico:
Como todos ustedes se imaginarn, no es necesario ser mecnico de automviles para poder manejar
uno. Si el comprender cmo es el funcionamiento interno del motor, la direccin, los frenos, los cilindros,
etc. fuera requisito para poder manejar un automvil, seran muchos menos los conductores certificados
y sera mucho ms difcil aprender a manejar. Es ms, si a cualquier automotriz se le ocurriera cambiar el
funcionamiento interno de alguna de estas cosas, probablemente todos los conductores tendran que
volver a aprender como funciona el nuevo componente interno para poder seguir manejando sin
(1)http://www.joanballestermoragues.com/blog/ingenieria-software/analisis-sistemas/programacion-orientada-a-objetos-
herencia.html
(2) http://www.pol.una.py/archivos/asi/paradigmas/01ConceptosOO.pdf
Mayor Cantidad del tema, tomado de: (Programador 5 Estrellas)
DCE0_FundamentosDeProgramacion
DCE0_ProgramacionOO_C#_VBNET
problemas. Por suerte esto no es as, ya que la complejidad interna del funcionamiento de un automvil
est escondida de los conductores (usuarios). Para poder interactuar con el automvil, ste nos expone
una interfaz sencilla y definida, que no cambia nunca por ms que cambien internamente el
funcionamiento de sus componentes. Esta interfaz est compuesta por el volante, los pedales, la palanca
de cambios, el asiento, etc. De esta forma decimos que el automvil ha encapsulado su complejidad
interna.
POLIMORFISMO
Transporte
Avanzar
Frenar
Transpor
te
Avanzar
Fren
ar
Transpor
te
Avanzar
Fren
ar
Transpor
te
Avanzar
Fren
ar
Ejemplo:
(1)http://www.joanballestermoragues.com/blog/ingenieria-software/analisis-sistemas/programacion-orientada-a-objetos-
herencia.html
(2) http://www.pol.una.py/archivos/asi/paradigmas/01ConceptosOO.pdf
Mayor Cantidad del tema, tomado de: (Programador 5 Estrellas)
DCE0_FundamentosDeProgramacion
DCE0_ProgramacionOO_C#_VBNET
Ahora bien, como todas heredan de la misma clase base, las clases derivadas pueden ser tratadas
genricamente. Esto quiere decir que podramos tener un array que almacene objetos de tipo
Transporte, y recorrerlo luego para llamar al mtodo Avanzar de cada uno. De esta forma, en tiempo
de codificacin es imposible saber a qu mtodo Avanzar se est llamando en realidad (al del Auto? Al
del caballo? Al del transbordador?), sino que esta decisin es tomada en tiempo de ejecucin en base al
tipo particular de objeto que est instanciado.
t.Avanzar()
t.Frenar()
Fin
RELACIONES
Asociacin
Agregacin
RELACIONES DE ASOCIACIN
Una asociacin es una conexin entre dos clases que representa una comunicacin
(1)http://www.joanballestermoragues.com/blog/ingenieria-software/analisis-sistemas/programacion-orientada-a-objetos-
herencia.html
(2) http://www.pol.una.py/archivos/asi/paradigmas/01ConceptosOO.pdf
Mayor Cantidad del tema, tomado de: (Programador 5 Estrellas)
DCE0_FundamentosDeProgramacion
DCE0_ProgramacionOO_C#_VBNET
La multiplicidad es el nmero de instancias que participan en una asociacin
Ejemplo:
Esta se divide:
Composicin
Agregacin
RELACIONES DE AGREGACIN
La agregacin es una forma especial de asociacin donde un todo se relaciona con sus
partes
Ejemplo:
(1)http://www.joanballestermoragues.com/blog/ingenieria-software/analisis-sistemas/programacion-orientada-a-objetos-
herencia.html
(2) http://www.pol.una.py/archivos/asi/paradigmas/01ConceptosOO.pdf
Mayor Cantidad del tema, tomado de: (Programador 5 Estrellas)
DCE0_FundamentosDeProgramacion
DCE0_ProgramacionOO_C#_VBNET
Una Puerta es una parte de un Vehculo
Vehiculo Puerta
-color
+Mover()
Qu es un objeto?
Entidades Fsicas
Entidades Conceptuales
Entidades de Software
(1)http://www.joanballestermoragues.com/blog/ingenieria-software/analisis-sistemas/programacion-orientada-a-objetos-
herencia.html
(2) http://www.pol.una.py/archivos/asi/paradigmas/01ConceptosOO.pdf
Mayor Cantidad del tema, tomado de: (Programador 5 Estrellas)
DCE0_FundamentosDeProgramacion
DCE0_ProgramacionOO_C#_VBNET
Estado
Comportamiento
Identidad
QU ES UNA CLASE?
METODOS
Son las funcionalidades asociadas a los objetos. Cuando estamos programando las clases las
llamamos mtodos.
Una funcin tiene 0 o ms argumentos, el mtodo tiene SIEMPRE 1 o ms. Ese argumento
obligatorio
Con el nombre de una funcin disponemos de una implementacin, con un mtodo tenemos
la posibilidad de una implementacin por objeto (empleando el mismo nombre).
SOBRECARGA DE MTODOS
(1)http://www.joanballestermoragues.com/blog/ingenieria-software/analisis-sistemas/programacion-orientada-a-objetos-
herencia.html
(2) http://www.pol.una.py/archivos/asi/paradigmas/01ConceptosOO.pdf
Mayor Cantidad del tema, tomado de: (Programador 5 Estrellas)
DCE0_FundamentosDeProgramacion
DCE0_ProgramacionOO_C#_VBNET
SOBRE ESCRITURA DE MTODOS
ATRIBUTOS
PROPIEDADES
Ntese que como VB.NET no distingue entre maysculas y minsculas no es posible utilizar
para el miembro de la clase el mismo nombre que para la Propiedad. Sin embargo, es
importante que ambos tengan nombres significativos para la lgica de la aplicacin. No se
recomienda el agregado de prefijos o sufijos a los nombres.
Mensajes (Comentarios)
de una lnea*/
/// <summary>
/// </summary>
/// <summary>
(1)http://www.joanballestermoragues.com/blog/ingenieria-software/analisis-sistemas/programacion-orientada-a-objetos-
herencia.html
(2) http://www.pol.una.py/archivos/asi/paradigmas/01ConceptosOO.pdf
Mayor Cantidad del tema, tomado de: (Programador 5 Estrellas)
DCE0_FundamentosDeProgramacion
DCE0_ProgramacionOO_C#_VBNET
/// </summary>
'Comentario simple
''' <summary>
''' </summary>
return x + y
End Function
INTERFACES
Recurso de diseo soportado por los lenguajes orientados a objetos que permite
definir comportamiento
Permite que clases que no estn estrechamente relacionadas entre s deban tener el
mismo comportamiento
Vehiculo
(1)http://www.joanballestermoragues.com/blog/ingenieria-software/analisis-sistemas/programacion-orientada-a-objetos-
herencia.html Aereo Acuatico Terrestre
(2) http://www.pol.una.py/archivos/asi/paradigmas/01ConceptosOO.pdf
Mayor Cantidad del tema, tomado de: (Programador 5 Estrellas)
DCE0_FundamentosDeProgramacion
DCE0_ProgramacionOO_C#_VBNET
Hidroavin deber definir los comportamientos de cada una de las interfaces que
implemente
interface interface
Acuatico Aereo
+Navegar() +Volar()
Hidroavion
(1)http://www.joanballestermoragues.com/blog/ingenieria-software/analisis-sistemas/programacion-orientada-a-objetos-
herencia.html
(2) http://www.pol.una.py/archivos/asi/paradigmas/01ConceptosOO.pdf