Programación orientada a objetos

18
Diego Alberto Guillen Francisco Ing. Electrónica 12230402

Transcript of Programación orientada a objetos

Page 1: Programación orientada a objetos

Diego Alberto Guillen Francisco

Ing. Electrónica 12230402

Page 2: Programación orientada a objetos

• 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.

Page 3: Programación orientada a objetos

• 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.

Page 4: Programación orientada a objetos

• 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.

Page 5: Programación orientada a objetos

• 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.

Page 6: Programación orientada a objetos

• 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.

Page 7: Programación orientada a objetos

• 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.

Page 8: Programación orientada a objetos

• 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.

Page 9: Programación orientada a objetos

• 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.

Page 10: Programación orientada a objetos

• 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.

Page 11: Programación orientada a objetos

• 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.

Page 12: Programación orientada a objetos

• 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.

Page 13: Programación orientada a objetos

• 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?”

Page 14: Programación orientada a objetos

• 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.

Page 15: Programación orientada a objetos
Page 16: Programación orientada a objetos

• 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.

Page 17: Programación orientada a objetos
Page 18: Programación orientada a objetos

• 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.