1 de febrero de 2017

Programacion Orientada a objetos

Que es

Es un tipo de programacion que tiene como base que todos los elementos de esta son considerados como objetos y cada uno de ellos puede interactuar con todos los demas a través de mensajes para cambiar su estado. Cada elemento se considera un objeto que esta dentro de una clase de objetos, los objetos combinan estados y comportamientos dentro de si mismos, siendo los estados los datos que tienen y el comportamiento los metodos. Entre sus caracteristicas esta el hecho de que se trata de tomar como ejemplo el mundo real tanto como sea posible proporcionando a cada objeto de tantas caracteristicas reales como se pueda reflejado en los atributos y los metodos que se tienen en las clases.



Sus ventajas

Los metodos que se usan estan penados para hacer programas y modulos mucho mas faciles de escribir, mantener y reutilizar, esto ahorra mucho tiempo a los programadores ya que permite la reutilizacion de codigo ya sea total o parcialmente.



Sus limitaciones

Para empezar, un programa que este hecho bajo las normas de la programacion orientada a objetos tiene que llevar un analisis mucho más riguroso y tedioso, claro que esta limitacion depues se convierte en ventaja porque al momento de generar la aplicacion final el numero de errores que pudieramos tener se disminuye en gran medida.
Tambien esta el caso de que los metodos de encapsulacion y de herencia tienen principios muy opuestos a pesar de ser piedras angulares en este tipo de programacion, por lo que muchas veces genera dificultades acceder a datos de objetos que ya esten protegidos por medio de clases que esten heredando, logrando que sea preferible dimitir de alguna de estas dos propiedades.
Por ultimo esta que muchas veces su logica no puede ser implementada en otros tipos de programas ni viceversa.



Principales características

Abstracción
Abstraccion: Es el proceso de representar entidadesd el mundo real como entidades dentro del programa dotandolos del comportamiento y las caracteristicas que tendria una entidad del mundo real y dotando al objeto de priogramacion con ellas, es por ello que la abstraccion debe de ser to0mada muy en cuanto al momento de definir que datos se planenan utilizar en el programa que se este creando.

. · Modularidad.
Es la caractristica que permite modificar las caracteristicas de la clase que definen a un objeto de una manera independiente de las demas clases que se esten utilizando en la aplicacion.

· Encapsulamiento.
Es aquella caracteristica de la programacion orientada a objetos que nos permite modificar los datos de un objeto de manera indirecta, es decir sin tener que acceder directamente al objeto mismo, esto nos provee de cierta seguridad para evitar fallos en el objeto y por consiguiente para evitar fallos en el programa final. Como medida de seguridad se tiene que todos los datos de un objeto deben ser privados y solo se puede acceder a ellos por metodos publicos, con el encasulamiento se modifican, envian y reciben datos de cierto objeto por medio de mensajes que funcionan como intermediarios entre el objeto y el resto del programa.

· Jerarquía. ·o Herencia:
Es una cualidad de la programacion orientada a objetos que nos permite traspasar o heredar ciertas cualidades de un determinado grupo a otros grupo o a un objeto final, en el caso de la programacion su uso más comun es el de heredar metodos y atributos de una clase denominada como padre a otras clases que se denominan hijas, la clase padre tiene en su contenido aquellos metodos y atributos que todas la clases hijo tengan en comun mientras que cada clase hijo tienen sus propios metodos y atributos que son unicamente de ellas lo que las vuelve unicas y las diferencia de sus hermanas.

 Polimorfismo
Es una cualidad que tienen los objetos para responder de distinto modo a una misma instruccion, el ejemplo más comun es si tenemos tres clases diferentes que se llamen auto, avion y barco, todas con el mismo metodo desplazate, todas tienen la capacidad de desplazarse pero cada una de ellas lo hara de diferente manera acorde a lo que el programador haya establecido.




Porque es recomendado usar este tipo de programacion
Este programacion tiene la facilidad que los elementos que la componen estan fuertemente basados en elementos de la vida real, por lo que resulta más comodo y facil para el programador definir como va a resolver ciertos problemas que se le esten encargando, esto permite un mejor desempeño en la labor de proponer soluciones y funcionalidad a un programa ademas de una implemntacion que tanto para usuario y creador sea más simple de comprender.



http://pdi.topografia.upm.es/m.manso/docencia/Informatica_plan92/Curso-2002-2003/poo.pdf

http://fcasua.contad.unam.mx/apuntes/interiores/docs/98/opt/java.pdf

http://mmc.geofisica.unam.mx/cursos/femp/CyC++/Introduccion%20a%20la%20Programacion%20Orientada%20a%20Objetos.pdf

No hay comentarios:

Publicar un comentario