Vous êtes sur la page 1sur 5

POO

Paradigma de Programacin
Se define como paradigma de programacin a una propuesta
tecnolgica que frmula un modelo de solucin de problemas, es
decir, un modelo para resolver problemas computacionales. Los
lenguajes de programacin, necesariamente, se encuadran en uno o
varios paradigmas a la vez a partir del tipo de rdenes que permiten
implementar, algo que tiene una relacin directa con su sintaxis; la
resolucin de estos problemas debe suponer consecuentemente un
avance significativo en al menos un parmetro que afecte a la
ingeniera de software.

Programacin Orientada a Objetos (POO)


Paradigma De La Programacin Orientada A
Objetos
En el desarrollo de la programacin se puede recalcar que el manejo
de datos y procesamiento en la contraccin de programas, se han
separado en diferentes reas, con respecto a la del diseo e
implementacin de software. Esto provoc que grandes desarrollos
tuvieran problemas de fiabilidad, mantenimiento, adaptacin a los
cambios y escalabilidad (se define como la habilidad para reaccionar
y adaptarse sin perder calidad, o bien manejar el crecimiento
continuo de trabajo de manera fluida, o bien para estar preparado
para hacerse ms grande sin perder calidad en los servicios
ofrecidos). Con la orientacin a objetos y caractersticas como el
encapsulado, polimorfismo o la herencia se permiti un avance
significativo en el desarrollo de software a cualquier escala de
produccin.
Este paradigma tiene como base estructural el desarrollo de los
diversos elementos inmersos en la solucin de un problema como
objetos con diversas caractersticas, de esta forma dichos objetos
pueden definirse como:

Objetos
Se puede definir a un objeto o instancia como una entidad o
elemento en un programa, cuyo desarrollo, tiene como objetivo el
propiciar y/o determinar la solucin del problema, en funcin del
programa propuesto. Se puede destacar a un objeto como un
elemento con diversas propiedades en s mismo que tienen como
funcin el diferenciarse de otros en general as como
comportamientos y/o funciones; entre las caractersticas
mencionadas se pueden resaltar:
Atributos Estos pueden ser definidos como los datos y/o
propiedades que caracterizan al objeto. Los atributos y sus
valores en un momento dado, determinan el estado de un
objeto.

Mtodos Los mtodos de un objeto caracterizan su


comportamiento, es decir, son todas las acciones u operaciones
que el objeto puede realizar por s mismo. Estas operaciones
hacen posible que el objeto responda a las solicitudes externas
o que acte sobre otros objetos. Teniendo como base el manejo
de los atributos, ya que sus acciones pueden depender de
modificar, los valores de un atributo; teniendo la capacidad de
acceder a los atributos de una manera predefinida, pudiendo
ser usados en el comportamiento del objeto, en el desarrollo de
dichas operaciones se hace posible el definir a un suceso o
accin como un evento (tal como una interaccin del usuario
con la mquina, o un mensaje enviado por un objeto).

Clases
En un programa se hace posible el evidenciar la posibilidad de poseer
diversos objetos con las mismas caractersticas, por lo cual se define
a la construccin de una clase como la realizacin de una plantilla
para la creacin de objetos segn el modelo predefinido por la clase
misma, as cada clase es un modelo que define un conjunto de
atributos o variables y por tanto el estado, adems de mtodos
apropiados para operar con dichos datos definindose as el
comportamiento de cada objeto creado a partir de la clase.
Se puede resaltar que en diferentes clases suele ser comn que las
variables miembro sean privadas para controlar el acceso y mantener
la coherencia, de esta manera surge la necesidad de permitir
consultar o modificar su valor mediante pares de mtodos: Getters y
Setters, mtodos llamados GetVariable y SetVariable
respectivamente; en los cuales los getters permiten obtener al
usuario o evento el valor de un atributo y los setters permiten el
cambio de valor de una variable y/o atributo.

Modularidad
En programacin se define a la modularidad como propiedad de la
estructura de un paradigma de programacin que permite la
subdivisin de una aplicacin en partes ms pequeas denominadas
mdulos independientes entre s tanto como sea posible, teniendo
como objetivo el propiciar la cohesin en el diseo de la aplicacin
misma; de esta manera un mdulo o subdivisin de un programa
debe ser independiente del resto de los mdulos y comunicarse entre
ellos, si bien con todos o slo con una parte, a travs de unas
entradas y salidas bien definidas en general. De esta forma se
pueden atribuir diferentes caractersticas y/o propiedades especficas
a la modularidad, tales como:
Encapsulamiento: Este elemento define en si la caracterstica
de la modularidad en la cual cada objeto est aislado del
exterior, es un mdulo natural, y la aplicacin entera se reduce
a un agregado o rompecabezas de objetos. El aislamiento
protege a los datos asociados de un objeto contra su
modificacin por quien no tenga derecho a acceder a ellos,
eliminando efectos secundarios e interacciones. De esta forma
el usuario de la clase puede obviar la implementacin de los
mtodos y propiedades para concentrarse slo en cmo
usarlos. Por otro lado se evita que el usuario pueda cambiar su
estado de maneras imprevistas e incontroladas; facilitando su
uso y otorgando la cohesin antes mencionada. Dentro de la
encapsulacin a nivel del cdigo se pueden destacar las
diferentes formas de encapsular definindose as:

Estndar (Predeterminado).

Abierto: Hace que el miembro de la clase pueda ser


accedido desde el exterior de la Clase y cualquier parte
del programa.

Protegido: Solo es accesible desde la Clase y las clases


que heredan (a cualquier nivel).

Semi cerrado: Solo es accesible desde la clase


heredada.

Cerrado: Solo es accesible desde la Clase.

Principio de Ocultacin: Hace referencia a que los atributos


privados de un objeto no pueden ser modificados ni obtenidos a
no ser que se haga a travs de la invocacin a mtodos en la
clase misma, en la cual se han propuesto dichos atributos.

Herencia
Se define a la herencia como un mtodo de creacin de objetos con
caractersticas similares, partiendo de la definicin de un objeto o la
generalidad de los objetos a crear; de esta manera se establecen
clases abstractas que se caracterizan principalmente por no
instanciarse directamente, de esta forma la principal funcionalidad de
una clase abstracta es la de crear y propiciar la implementacin de
mtodos, en objetos diferentes con funciones y/o comportamientos
iguales. Al crear y/o usar una clase abstracta que sea llamada por un
objeto, el objeto u objetos que implementan dichas clases heredan
los mtodos propuestos en la clase abstracta. Se puede decir que
existen diferentes tipos de herencias, tales como:
Herencia simple: Una clase slo puede heredar de una clase
base y de ninguna otra.

Herencia mltiple: Una clase puede heredar las


caractersticas de varias clases base, es decir, puede tener
varios padres. En este aspecto hay discrepancias entre los
diseadores de lenguajes. Algunos de ellos han preferido no
admitir la herencia mltiple debido a que los potenciales
conflictos entre mtodos y variables con igual nombre, y
eventualmente con comportamientos diferentes crea un
desajuste cognitivo que va en contra de los principio de la
programacin orientada a objetos. Por ello, la mayora de los
lenguajes orientados a objetos admite herencia simple. En
contraste, algunos pocos lenguajes admiten herencia mltiple,
entre ellos: C++, Python, Eiffel, mientras que Smalltalk, Java,
Ada y C# slo permiten herencia simple.

Interfaz: Una interface es una clase abstracta que define los


mtodos que deben tener las clases que la implementan; a
diferencia de una clase abstracta comn, usada para establecer
una herencia, esta no puede definir qu cuerpo tendrn ni que
variables, partiendo de los mtodos inmersos en una clase de tipo
interfaz se puede recalcar la funcionalidad nula de los mismos,
teniendo como nica funcionalidad la de establecer los mtodos
que deben estar en la clase que la implementa.

Polimorfismo
Se define al polimorfismo, como la capacidad de enviar o definir un
objeto de una forma que este describa de un tipo determinado;
pudiendo a su vez ser este asignado a un objeto sintcticamente
igual; dicha contextualizacin se podra observar de forma ms clara
cuando se tiene una herencia ya que si bien se puede declarar una
variable del tipo padre, esta puede ser instanciada como uno de los
hijos de la clase padre.

Vous aimerez peut-être aussi