Professional Documents
Culture Documents
DCE0_FundamentosDeProgramacion
DCE0_ProgramacionOO_C#_VBNET
CARACTERÍSTICAS POO
ABSTRACCIÓN
Ignorancia Selectiva
Se enfoca en lo importante
HERENCIA
Es una relación entre clases en la cual una clase comparte la
estructura y comportamiento definido en otra clase (Grady Booch)
La herencia (en la POO) es una potente arma que podemos utilizar para varias
cosas, entre ellas, por ejemplo, ahorrar líneas de código heredando de otras clases,
compartiendo variables miembro o función miembro. También podemos generar
superclases abstractas para definir comportamientos genéricos que necesitemos.
La herencia es una de las características que más se hace notar a la hora de
escribir código, o reutilizar código de otros programadores. (1)
ENCAPSULAMIENTO
Principio que establece que los atributos propios de un objeto no deben ser
visibles desde otros objetos
(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
Permite abstraer al resto del mundo de la complejidad de la implementación
interna
Permite exponer el estado del objeto sólo a través del comportamiento que
le hayamos definido mediante miembros públicos
Punto de Control/Validación
POLIMORFISMO
Es la propiedad que tienen los objetos de permitir invocar genéricamente un
comportamiento (método) cuya implementación será delegada al objeto
correspondiente recién en tiempo de ejecución
Ejemplo:
Ahora bien, como todas heredan de la misma clase base, las clases derivadas
pueden ser tratadas genéricamente. Esto quiere decir que podríamos tener un
array que almacene objetos de tipo Transporte, y recorrerlo luego para llamar al
método “Avanzar” de cada uno. De esta forma, en tiempo de codificación es
imposible saber a qué método “Avanzar” se está llamando en realidad (al del Auto?
(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
Al del caballo? Al del transbordador?), sino que esta decisión es tomada en tiempo
de ejecución en base al tipo particular de objeto que esté instanciado.
t.Avanzar()
t.Frenar()
Fin
RELACIONES
Todo sistema abarca muchas clases y objetos
Asociación
Agregación
RELACIONES DE ASOCIACIÓN
Una asociación es una conexión entre dos clases que representa una
comunicación
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 Persona es Dueña de un Vehículo
Esta se divide:
• Composición
• Agregación
RELACIONES DE AGREGACIÓN
La agregación es una forma especial de asociación 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
Vehiculo Puerta
-color
+Mover()
¿Qué es un objeto?
Entidades Físicas
Entidades Conceptuales
Entidades de Software
Estado
Comportamiento
Identidad
METODOS
Existe una clasificación de los métodos según su objetivo:
(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
SOBRECARGA DE MÉTODOS
ATRIBUTOS
PROPIEDADES
Mensajes (Comentarios)
de una línea*/
/// <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
public class Matematica {
/// <summary>
/// </summary>
'Comentario simple
''' <summary>
''' </summary>
return x + y
End Function
INTERFACES
(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
Vehiculo
«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