Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Paradigmas de programacin
Programacin imperativa (Basic, C, C++, Java). Programacin declarativa (Haskell, Prolog) Programacin funcional (Haskell, Miranda, F#). Programacin modular (Fortran, Basic, Pascal, C). Programacin estructurada (Pascal, C, Ada, C++). Programacin orientada a objetos (C++, C#, Java). Programacin orientada a aspectos.
Qu es un objeto?
Un objeto es la representacin de una entidad del mundo real. Entidades fsicas: casa, automvil, producto, cliente, mascota. Entidades conceptuales: proceso qumico, transaccin bancaria, puesto de trabajo. Entidades de software: arreglo, lista enlazada, interfaz de usuario.
Qu es un objeto?
Los objetos del mundo real (complejos o no complejos) poseen:
Estado. Comportamiento. Identidad.
Modelado de objetos
El enfoque orientado a objetos se basa en el hecho de modelar el problema usando objetos del mundo real o simulados. Cuando se escribe un programa orientado a objetos se est creando un modelo de una parte del mundo. Las partes que el modelo construye son objetos que aparecen en el dominio del problema.
Qu es una clase?
Una clase es una descripcin de un grupo de objetos con:
Caractersticas en comn (atributos). Comportamiento similar (mtodos). La misma forma de relacionarse (relaciones). Una semntica en comn (significan lo mismo).
Ejemplo de un objeto
Especificadores de acceso
(+) Publico, cualquier clase puede tener acceso a los miembros pblicos de otra clase. () Privado, slo la clase puede tener acceso a sus propios miembros privados. (#) Protegido, la clase y sus subclases pueden tener acceso a los miembros protegidos.
Encapsulamiento
Principio que establece que los atributos propios de un objeto no deben ser visibles desde otros objetos. Deben ser declarados como privados. Permite abstraer al resto del mundo de la complejidad de la implementacin interna. Permite exponer el estado del objeto slo a travs del comportamiento que le hayamos definido mediante miembros pblicos. Es til como punto de control/validacin y permite una mejor respuesta ante los cambios.
Abstraccin
Ignorancia selectiva. La abstraccin ayuda a trabajar con cosas complejas. Se enfoca en lo importante. Ignora lo que no es importante, simplifica. Una clase es una abstraccin en la que se enfatizan las caractersticas relevantes y se suprimen otras caractersticas. Una clase debe capturar una y slo una abstraccin clave.
Polimorfismo
Mediante polimorfismo es posible implementar mltiples formas de un mismo mtodo, donde cada uno depender de la clase sobre la que se realice la implementacin. Esto posibilita la llamada a una variedad de mtodos distintos (todos con el mismo nombre) utilizando exactamente el mismo medio de acceso.
Dependencia
Es una relacin de uso, es decir, una clase usa a otra para ejecutar algn proceso.
Asociacin
Es una relacin entre dos o ms clases durante un periodo determinado de tiempo. Es decir, las clases se conectan conceptualmente.
Agregacin y composicin
Es un tipo especial de asociacin que expresa un acoplamiento ms fuerte entre las clases.
Generalizacin y especializacin
Es una relacin entre una clase ms general (superclase) y un caso ms especfico de esa clase (subclase).