Programacion orientada a objetos
-
Upload
jorge-luis-b -
Category
Education
-
view
101 -
download
2
Transcript of Programacion orientada a objetos
INGENIERÍA DE SISTEMAS E INFORMÁTICA
Algoritmo y Estructura de Datos
Responsable: Atunga Vergara José Timoteo
Participantes: Cabrera Belmont Jorge Luis
Cisneros Porras Nélida
Estrada Poma Lucia
LLacchua López José Alfredo
2014 - II
UNIVERSIDAD PRIVADA TELESUP
2
I. DEDICATORIA:
Agradecemos a Dios por habernos dado la valentía para asumir nuevos retos en la vida, la
fuerza para continuar con nuestros estudios día a día y la perseverancia para no rendirnos y
para terminar este trabajo de investigación.
A nuestros padres por estar ahí cuando más los necesitamos, por su ayuda y su constante
cooperación.
A nuestro profesor Atunga Vergara José Timoteo, que con su dedicación, paciencia, esmero y
profesionalismo nos dirige durante todo este trayecto, con el objetivo de enseñarnos e instruirnos para
nuestro futuro.
UNIVERSIDAD PRIVADA TELESUP
3
II.PRESENTACION:
El presente trabajo contiene información obtenida de distintas páginas, en el transcurso del
desarrollo del trabajo de investigación.
UNIVERSIDAD PRIVADA TELESUP
4
III.INTRODUCCION:
La programación orientada a objetos es un enfoque de programación de los más populares y
viene teniendo gran aceptación en el desarrollo de proyectos de software.
UNIVERSIDAD PRIVADA TELESUP
5
IV. INDICE:
I.DEDICATORIA………………………………………………………………………………………………………………………..2
II.PRESENTACIÓN………………………………………………………………………………………………………………….…3
III.INTRODUCCIÓN……………………………………………………………………………………………………………..…..4
IV.ÍNDICE………………………………………………………………………………………………………………………………..5
V. TEMA……………………………………………………………………………………………………………………………......6
1. PROGRAMACIÓN ORIENTADA A OBJETOS…………………………………………………………………………..6
1.1 CARACTERÍSTICAS DE PROGRAMACIÓN ORIENTADA A OBJETOS………………………………….7
1.1.1 Abstracción………………………………………………………………………………………………………..7
1.1.2 Encapsulamiento………………………………………………………………………………………………..7
1.1.3 Ocultamiento…………………………………………………………………………………………….……..8
1.1.4 Polimorfismo…………………………………………………………………………………………………….8
1.1.5 Herencia……………………………………………………………………………………………………………9
1.2 CONCEPTOS ORIENTADO A OBJETOS ………………………………………………………………………….10
1.2.1 Clases………………………………………………………………………………………………………….10
1.2.2 Métodos………………………………………………………………………………………………………11
1.2.3 Instanción……………………………………………………………………………………………………11
1.2.4 Propiedades……………………………………………………………………………………………….12
VI. BIBLIOGRAFIA………………………………………………………………………………………………………………….……..13
UNIVERSIDAD PRIVADA TELESUP
6
V. TEMA:
PROGRAMACIÓN ORIENTADA A OBJETOS
La Programación Orientada a Objetos (POO u OOP) es un paradigma de programación que
define los programas en términos de “clases de objetos”, objetos que son entidades que
combinan estado (propiedades o datos), comportamiento (procedimientos o métodos) e
identidad (propiedad del objeto que lo diferencia del resto).
La programación orientada a objetos expresa un programa como un conjunto de estos objetos,
que colaboran entre ellos para realizar tareas. Esto permite hacer los programas y módulos más
fáciles de escribir, mantener y reutilizar.
Un objeto contiene toda la información que permite definirlo e identificarlo frente a otros
objetos pertenecientes a otras clases (e incluso entre objetos de una misma clase, al poder
tener valores bien diferenciados en sus atributos). A su vez, dispone de mecanismos de
interacción (los llamados métodos) que favorecen la comunicación entre objetos (de una misma
clase o de distintas), y en consecuencia, el cambio de estado en los propios objetos. Esta
característica lleva a tratarlos como unidades indivisibles, en las que no se separan (ni deben
separarse) información (datos) y procesamiento (métodos).
Las clases son declaraciones o abstracciones de objetos, lo que significa, que una clase es la
definición de un objeto. Cuando se programa un objeto y se definen sus características y
funcionalidades, realmente se programa una clase.
Comentarios:
Usamos objetos en lugar de algoritmos como bloque fundamental
Cada objeto es una instancia de una clase
Las clases están relacionadas entre sí por relaciones tan complejas como la herencia.
UNIVERSIDAD PRIVADA TELESUP
7
1.1 CARÁCTERISTICAS PROGRAMACIÓN ORIENTADA A OBJETOS
1.1.1 Abstracción
La abstracción consiste en captar las características esenciales de un objeto, así como su
comportamiento. Por ejemplo, volvamos al ejemplo de los automóviles, ¿Qué características
podemos abstraer de los automóviles? O lo que es lo mismo ¿Qué características semejantes
tienen todos los automóviles? Todos tendrán una marca, un modelo, número de chasis, peso,
llantas, puertas, ventanas, etc. Y en cuanto a su comportamiento todos los automóviles podrán
acelerar, frenar, retroceder, etc.
En los lenguajes de programación orientada a objetos, el concepto de Clase es la representación
y el mecanismo por el cual se gestionan las abstracciones.
Por ejemplo, en Java tenemos:
public class Automovil {
// variables
// métodos
}
1.1.2 Encapsulamiento
El encapsulamiento consiste en unir en la Clase las características y comportamientos, esto es,
las variables y métodos. Es tener todo esto es una sola entidad. En los lenguajes estructurados
esto era imposible. Es evidente que el encapsulamiento se logra gracias a la abstracción y el
ocultamiento que veremos a continuación.
UNIVERSIDAD PRIVADA TELESUP
8
La utilidad del encapsulamiento va por la facilidad para manejar la complejidad, ya que
tendremos a las Clases como cajas negras donde sólo se conoce el comportamiento pero no los
detalles internos, y esto es conveniente porque nos interesará será conocer qué hace la Clase
pero no será necesario saber cómo lo hace.
1.1.3 Ocultamiento
Es la capacidad de ocultar los detalles internos del comportamiento de una Clase y exponer sólo
los detalles que sean necesarios para el resto del sistema.
El ocultamiento permite 2 cosas: restringir y controlar el uso de la Clase. Restringir porque
habrá cierto comportamiento privado de la Clase que no podrá ser accedido por otras Clases. Y
controlar porque daremos ciertos mecanismos para modificar el estado de nuestra Clase y es en
estos mecanismos dónde se validarán que algunas condiciones se cumplan. En Java el
ocultamiento se logra usando las palabras reservadas: public, private y protected delante de las
variables y métodos.
1.1.4 Polimorfismo:
Comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo
nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto
que se esté usando. O dicho de otro modo, las referencias y las colecciones de objetos pueden
contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia
producirá el comportamiento correcto para el tipo real del objeto referenciado. Cuando esto
ocurre en “tiempo de ejecución”, esta última característica se llama asignación tardía o
asignación dinámica. Algunos lenguajes proporcionan medios más estáticos (en “tiempo de
compilación”) de polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++.
UNIVERSIDAD PRIVADA TELESUP
9
1.1.5 Herencia:
Las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de
clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las
que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento
permitiendo a los objetos ser definidos y creados como tipos especializados de objetos
preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que re
implementar su comportamiento. Esto suele hacerse habitualmente agrupando los objetos en
clases y estas en árboles o enrejados que reflejan un comportamiento común. Cuando un objeto
hereda de más de una clase se dice que hay herencia múltiple; esta característica no está
soportada por algunos lenguajes (como Java).
UNIVERSIDAD PRIVADA TELESUP
10
1.2 CONCEPTOS ORIENTADO A OBJETOS
1.2.1 Clases:
- Una clase es una plantilla que define las variables y los métodos que son comunes para
todos los objetos de un cierto tipo.
- Una clase representa a un conjunto de objetos que comparten una estructura y un
comportamiento comunes.
- La estructura de un objeto se define en su clase, por lo que un objeto es en realidad la
instancia de una clase.
- Una clase representa a un conjunto de objetos que comparten una estructura y un
comportamiento comunes.
- La estructura de un objeto se define en su clase, por lo que un objeto es en realidad la
instancia de una clase.
- Una Clase es un tipo definido por el usuario(programador) que determina las estructuras
de datos y las operaciones asociadas con este tipo.
- La Clase es simplemente un modelo que se utiliza para describir uno o más objetos del
mismo tipo.
En nuestro ejemplo, la clase bicicleta definiría variables miembro comunes a todas las
bicicletas, como la marcha actual, la cadencia actual, etc. Esta clase también debe declarar e
implementar los métodos o funciones miembro que permiten al ciclista cambiar de marcha,
frenar, y cambiar la cadencia de pedaleo, como se muestra en la siguiente figura:
UNIVERSIDAD PRIVADA TELESUP
11
1.2.2 Métodos:
Consiste en la implementación en una clase de un protocolo de respuesta a los
mensajes dirigidos a los objetos de la misma. La respuesta a tales mensajes puede incluir
el envío por el método de mensajes al propio objeto y aun a otros, también como el
cambio del estado interno del objeto.
- También son llamados: funciones miembro.
- Son las operaciones que se pueden realizar con los objetos de la clase.
Son los procesos (funciones o procedimientos) que permiten trabajar con los datos de
los objetos.
- De acuerdo al trabajo que realizan los métodos, estos se clasifican en: Constructores,
destructores, ponedores, selectores.
1.2.3 Instanción:
- Una Instancia es una ocurrencia de la clase y un Objeto es una instancia de una Clase
específica.
- Una instancia es la concreción de una clase. - se llama instancia a todo objeto que derive de algún otro. De esta forma, todos los
objetos son instancias de algún otro, menos la clase Object que es la madre de todas.
UNIVERSIDAD PRIVADA TELESUP
12
Ejemplo:
Supongamos que existe una clase Silla. La silla del comedor que yo utilizo, es una instancia de
esa clase, y por lo tanto, un objeto de tipo Silla. La silla que utiliza mi hermana es otra instancia
de la misma clase y en consecuencia, otro objeto del mismo tipo.
Desde el punto de vista de la programación (es decir, a nivel de implementación), es posible que
declare un objeto de un cierto tipo y posteriormente crear la instancia del mismo. La forma de
hacerlo depende del lenguaje de programación que se esté utilizando.
1.2.4 Propiedades:
Son las características observables de un objeto. Las propiedades se reconocen porque
describen un aspecto del objeto que podemos medir con una escala establecida previamente. A
cada propiedad se le debe asignar un valor el cual permite identificar de manera única al objeto.
Son variables que describen algunos aspectos o características del objeto en el que están
incluidas.
Las propiedades de un objeto toman un valor que puede ser permanente o puede cambiar. Por ejemplo la propiedad color del objeto coche tomará un valor en concreto: verde, rojo, etc. El valor concreto de una propiedad de un objeto se llama estado del objeto. Podemos modificar la
propiedad de un objeto accediendo a su estado.
Las propiedades de un objeto pueden tomar uno o varios valores. Estos valores pueden ser de cualquier tipo de dato (String o cadena de caracteres; entero, etc.)
UNIVERSIDAD PRIVADA TELESUP
13
El nombre de la clase “FACTURA”
UNIVERSIDAD PRIVADA TELESUP
14
IV. BIBLIOGRAFÍA:
González (2014) Programación Orientada a Objetos, Ciberaula, revisado el 30/11/2014, http://www.ciberaula.com/articulo/tecnologia_orientada_objetos/
Frick (2008) Programación Orientada a Objetos – Clase e Instancia, El Aprendiz, revisado el 30/11/2014, http://thefricky.wordpress.com/2008/01/15/programacion-orientada-a-objetos-clase-e-instancia/
Bahit (2011), 5.2. Programación Orientada a Objetos, LIBROSWEB, revisado el 30/11/2014,
librosweb.es/libro/python/capitulo_5/programacion_orientada_a_objetos.html
Alejo (2007), Conceptos Básicos de POO, Programación Orientada a Objetos, revisado el
30/11/2014, http://apdaza-poo.blogspot.com/2007/09/conceptos-bsicos-de-poo.html
Espinoza (2010), Unidad 2. Programación orientada a objetos (I)AulaClic, revisado el
30/11/2014, http://www.aulaclic.es/macros-excel/t_2_1.htm
Ruiz (2007), Definición de programación orientada a objetos, Framework PHP, revisado el
30/11/2014, https://frameworkphp.wordpress.com/2007/09/19/definicion-de-programacion-
orientada-a-objetos/
Alvares (2001), Qué es la programación orientada a objetos,desarrolloWeb.com, revisado el
30/11/2014 , http://www.desarrolloweb.com/articulos/499.php
Henao (2013), Conceptos Básicos de Programación Orientada a Objetos, CoDejavu, revisado el
30/11/2014, http://codejavu.blogspot.com/2013/05/conceptos-de-programacion-
orientada.html