Programación orientada a objetos
-
Upload
diego-alberto-guillen-francisco -
Category
Education
-
view
188 -
download
0
Transcript of Programación orientada a objetos
Diego Alberto Guillen Francisco
Ing. Electrónica 12230402
• La programación Orientada a objetos (POO) es una
forma especial de programar, más cercana a como
expresaríamos las cosas en la vida real que otros tipos
de programación. Donde todos los elementos que
forman parte del problema se conciben como
objetos, definiendo cuales son sus atributos y
comportamiento, como se relacionan entre sí y como
están organizadas.
• En la programación orientada a objetos, una clase es
una construcción que se utiliza como un modelo (o
plantilla) para crear objetos de ese tipo. El modelo
describe el estado y contiene el comportamiento que
todos los objetos creados a partir de esa clase tendrán.
Un objeto creado a partir de una determinada clase se
denomina una instancia de esa clase.
• Un objeto es una unidad dentro de un programa de
computadora que consta de un estado y de un
comportamiento, que a su vez constan respectivamente
de datos almacenados y de tareas realizables durante el
tiempo de ejecución. Un objeto puede ser
creado instanciando una clase, como ocurre en la
programación orientada a objetos, o mediante escritura
directa de código y la replicación otros objetos, como
ocurre en la programación basada en prototipos.
• Un paradigma de programación es una propuesta
tecnológica que es adoptada por una comunidad de
programadores cuyo núcleo central es incuestionable en
cuanto a que únicamente trata de resolver uno o varios
problemas claramente delimitados. Es un estilo de
programación empleado. La resolución de estos
problemas debe suponer consecuentemente un avance
significativo en al menos un parámetro que afecte a la
ingeniería de software.
• En orientación a objetos la herencia es, después de la
agregación o composición, el mecanismo más utilizado
para alcanzar algunos de los objetivos más preciados en
el desarrollo de software como lo son la reutilización y la
extensibilidad. A través de ella los diseñadores pueden
crear nuevas clases partiendo de una clase o de una
jerarquía de clases preexistente (ya comprobadas y
verificadas) evitando con ello el rediseño, la modificación
y verificación de la parte ya implementada.
• La herencia facilita la creación de objetos a partir de
otros ya existentes e implica que una subclase obtiene
todo el comportamiento (métodos) y eventualmente los
atributos (variables) de su superclase.
• Los atributos son las características individuales que
diferencian un objeto de otro y determinan su apariencia,
estado u otras cualidades. Los atributos se guardan en
variables denominadas de instancia, y cada objeto
particular puede tener valores distintos para estas
variables.
• En programación orientada a objetos,
el polimorfismo se refiere a la propiedad por la que es
posible enviar mensajes sintácticamente iguales
a objetos de tipos distintos. El único requisito que deben
cumplir los objetos que se utilizan de manera polimórfica
es saber responder al mensaje que se les envía.
• En la programación orientada a objetos, un método es
una subrutina cuyo código es definido en una clase y
puede pertenecer tanto a una clase, como es el caso de
los métodos de clase o estáticos, como a un objeto,
como es el caso de los métodos de instancia.
Análogamente a los procedimientos en los lenguajes
imperativos, un método consiste generalmente de una
serie de sentencias para llevar a cabo una acción, un
juego de parámetros de entrada que regularán dicha
acción o, posiblemente, un valor de salida (o valor de
retorno) de algún tipo.
• Los métodos de acceso son un tipo de método
normalmente pequeño y simple que se limita a proveer
información acerca del estado de un objeto.
• Un constructor es una subrutina cuya misión es
inicializar un objeto de una clase. En el constructor se
asignan los valores iniciales del nuevo objeto.
• Se utiliza para crear tablas de clases virtuales y poder
así desarrollar el polimorfismo, una de las herramientas
de la programación orientada a objetos. Al utilizar un
constructor, el compilador determina cual de los objetos
va a responder al mensaje (virtual) que hemos creado.
Tiene un tipo de acceso, un nombre y un paréntesis.
• La abstracción consiste en aislar un elemento de su
contexto o del resto de los elementos que lo acompañan.
En programación, el término se refiere al énfasis en el
"¿qué hace?" más que en el "¿cómo lo hace?”
• En Programación modular, y más específicamente
en programación orientada a objetos, se
denomina encapsulamiento al ocultamiento del estado,
es decir, de los datos miembro de un objeto de manera
que sólo se pueda cambiar mediante las operaciones
definidas para ese objeto.
• Cada objeto está aislado del exterior, es un módulo
natural, y la aplicación entera se reduce a un agregado o
rompecabezas de objetos. El aislamiento protege a los
datos asociados de un objeto contra su modificación por
quien no tenga derecho a acceder a ellos, eliminando
efectos secundarios e interacciones.
• En todas las disciplinas de la Ingeniería se hace evidente
la importancia de los modelos ya que describen el
aspecto y la conducta de "algo". Ese "algo" puede existir,
estar en un estado de desarrollo o estar, todavía, en un
estado de planeación. Es en este momento cuando los
diseñadores del modelo deben investigar los
requerimientos del producto terminado y dichos
requerimientos pueden incluir áreas tales como
funcionalidad, performance y confiabilidad. Además, a
menudo, el modelo es dividido en un número de vistas,
cada una de las cuales describe un aspecto específico
del producto o sistema en construcción.
• Las clases y structs tienen miembros que representan
sus datos y comportamiento. Los miembros de una clase
incluyen todos los miembros declarados en la
clase, junto con todos los miembros (excepto
constructores y destructores) declarados en todas las
clases de su jerarquía de herencia. Los miembros
privados de clases base se heredan en las clases
derivadas, pero estas no pueden tener acceso a ellos.