Capítulo POO
Conceptos básicos de POO
Clases, objetos
Objetivos:
Programación Estructurada vs POO
Conceptos básicos de la POO
Clases, métodos y mensajes
Objetos
Atributos, modificadores
Enfoque POO
El término POO indica más… una forma de diseño y una metodología de desarrollo… que un lenguaje de programación,
ya que en realidad se pueden aplicar los principios del paradigma de POO(encapsulación, herencia y polimorfismo) en cualquier lenguaje de programación.
También es razonable pensar que todo lo programado por lenguajes Orientados a Objetos (LOO) es POO.
Esto no es cierto, ya que incluso en un LOO puro, es posible que un mal diseño lleve a una implementación que en realidad no siga los principios de POO mencionados.
Desarrollo de software con JavaPORTABILIDAD.
El software desarrollado debe funcionar independientemente del hardware y del entorno de funcionamiento o Sistema Operativo sobre el cual se ejecute.
PRODUCTIVIDAD.
Uno de los principales objetivos es simplificar el proceso de desarrollo de Software, para lo cual es fundamental reutilizar componentes.
MANTENIMIENTO.
Constituye una de las etapas más costosas en el desarrollo desoftware que, por tanto, habrá que optimizar. Es fundamental estructurar bien el programa para prever futuros cambios o modificaciones.
CALIDAD.
A la hora de producir software, no hay que olvidar que se deben de desarrollar productos de calidad, dada a partir de una serie de aspectos como:
robustez, fiabilidad, eficiencia, flexibilidad, ...
Programación Estructurada
vs
Programación Orientadaa Objetos
El paradigma de programación estructurado,
se basa en tomar un problema, y subdividirlo sucesivamente en subproblemas, hasta llegar a unos subproblemas suficientemente sencillos de resolver.
Problemas del paradigma de programación estructurada:
Creciente complejidad de las aplicaciones.
Limitaciones en la modelización de problemas no estructurados:
El software se estructurasegún la solución del problema en vez de enfocarlo directamente según el problema en sí mismo.
Esto puede conducir a una separación conceptual entre el problema del mundo real y su representación e implementación informática.
Difícil reutilización del software.
Mantenimiento difícil y costoso.
La POO no trata de hacer más sencillo el problema a resolver (dividiéndolo),
sino que trata de simularel problema a resolver.
Así, en todo problema existen una serie de entidades (físicas o no) que interaccionan para resolverlo,
de manera que simulando estas entidades, y su comportamiento, es posible resolver el problema en cuestión.
Cada una de estas entidades es un objeto en el sistema desarrollado mediante POO, de ahí el nombre de POO.
Ventajas de POO:
Uniformidad
ComprensiónFlexibilidad
Reusabilidad
Conceptos básicos de POO
Clases
Objetos
Encapsulación y Ocultación de datos
Herencia
Abstracción
Polimorfismo y Ligadura Dinámica
Clase
Una clase permite describir objetos similares mediante la definición de sus estructuras de datos y métodos comunes.
Las clases son plantillas para objetos,
permiten la agrupación de objetos que comparten lasmismas propiedades y comportamiento.
Ej: Existen rectángulos de varios tamaños, pero todos ellos pertenecen a la clase rectángulo, que define los atributos comunes para todos ancho y alto, a la vez que el método (o función miembro) calcularArea, también común para todos.
Superclase
Una superclase es una clase de más alto nivel que agrupa otras clases con propiedades y funciones comunes,por tanto, los objetos (también llamados instancias de una clase determinada) de esas otras clases son también objetos de la superclase.
Las clases que son agrupadas por una superclase son sus subclases.
Una clase permite describir objetos similares mediante la definición de sus estructuras de datos y métodos comunes.
Las clases son plantillas para objetos,
permiten la agrupación de...
Regístrate para leer el documento completo.