PDF de programación - Programación Orientada a Objetos

Imágen de pdf Programación Orientada a Objetos

Programación Orientada a Objetosgráfica de visualizaciones

Actualizado el 16 de Abril del 2017 (Publicado el 14 de Enero del 2017)
931 visualizaciones desde el 14 de Enero del 2017
483,2 KB
34 paginas
Creado hace 14a (04/02/2010)
fundamentos de programación
(unidad 6) programación orientada a objetos





Para ver una copia completa de la licencia, acudir a la dirección
http://creativecommons.org/licenses/by-nc-sa/2.5/es/legalcode.es



(3)



(6)

programación

orientada a objetos

esquema de la unidad

(6.1) introducción a la programación orientada a objetos _________________ 6

(6.1.1) qué es la programación orientada a objetos 6
(6.1.2) UML 7
(6.1.3) propiedades de la POO

7

(6.2) introducción al concepto de objeto _________________________________ 8
(6.3) clases ____________________________________________________________ 8
(6.4) objetos__________________________________________________________ 11

11

(6.4.1) creación de objetos
(6.4.2) acceso a las propiedades del objeto 12
(6.4.3) métodos
(6.4.4) herencia

(6.4.5) representación de objetos

12
12


12

(6.5) modificadores de acceso _________________________________________ 14
(6.6) creación de clases ________________________________________________ 15

(6.6.1) definir propiedades
(6.6.2) métodos
(6.6.3) sobrecarga de métodos
(6.6.4) métodos recursivos 21

16

15

21

(6.7) la referencia this ________________________________________________ 24
(6.8) constructores ___________________________________________________ 26

(6.8.1) comentarios Javadoc 28

(6.9) métodos y propiedades genéricos (static) _________________________ 29
(6.10) el método main ________________________________________________32
(6.11) destrucción de objetos ___________________________________________32

(6.11.1) el método finalize

34

(5)

fundamentos de programación
(unidad 6) programación orientada a objetos


(6.1) introducción a la programación orientada

a objetos

(6.1.1) qué es la programación orientada a objetos

A Java se le considera un lenguaje totalmente orientado a objetos. Aunque
este totalmente es a veces criticado por que hay elementos de Java que no
cumplen estrictamente las normas orientadas a objetos (como los tipos básicos
o la clase String por ejemplo), desde luego es un lenguaje en el que desde el
primer momento se manejan clases y objetos. De hecho siempre que se crea
un programa en Java, por simple que sea, se necesita declarar una clase (con
el public class correspondiente). El concepto de clase pertenece a la
programación orientada a objetos.

Es decir; en Java no se pueden crear aplicaciones que no sean orientadas a

objetos.

La Programación Orientada a Objetos (POO) es una técnica de programar
aplicaciones ideada en los años setenta y que ha triunfado desde los ochenta,
de modo que actualmente es el método habitual de creación de aplicaciones.
La programación estructurada impone una forma de escribir código que
potencia la legibilidad del mismo. Cuando un problema era muy grande, aún
que el código es legible, ocupa tantas líneas que al final le hacen inmanejable.
La programación modular supuso un importante cambio, ya que el
problema se descompone en módulos (en muchos lenguajes llamados
funciones) de forma que cada uno se ocupa de una parte del problema. Cuanto
más independiente sea cada módulo, mejor permitirá el mantenimiento de la
aplicación y el trabajo en equipo. Ya que cada persona puede programar cada
módulo sin tener en cuenta cómo se han programado los otros.

Pero nuevamente esta técnica se queda corta. Al final realmente los
módulos necesitan datos globales conocidos por todos,
lo que resta
independencia a los mismos. Además los datos y las funciones se manejan de
forma distinta e independiente, lo que provoca problemas.

Con la POO se intenta solucionar esta limitación ya que el problema se
dividen en objetos, de forma que cada objeto funciona de forma totalmente
independiente. Un objeto es un elemento del programa que integra sus
propios datos y su propio funcionamiento. Es decir un objeto está formado por
datos (propiedades) y por las funciones que es capaz de realizar el objeto
(métodos).

Esta forma de programar se asemeja más al pensamiento humano. La
cuestión es detectar adecuadamente los objetos necesarios para una
aplicación. De hecho hay que detectar las distintas clases de objetos.

Una clase es lo que define a un tipo de objeto. Al definir una clase lo que
se hace es indicar como funciona un determinado tipo de objetos. Luego, a
partir de la clase, podremos crear objetos de esa clase.

Realmente la programación orientada a objetos es una programación
orientada a clases. Es decir lo que necesitamos programar es como funcionan

(6)

1er curso de administración de sistemas informáticos
autor: Jorge Sánchez – www.jorgesanchez.net

las clases de objetos. Una clase podría ser la clase coche, que representa un
automóvil. Cuando se defina esta clases indicaremos las propiedades (como el
color, modelo, marca, velocidad máxima,...) y los métodos (arrancar, parar,
repostar,...). Todos los coches (es decir todos los objetos de clase coche)
tendrán esas propiedades y esos métodos.

Usando el mismo ejemplo del coche anterior para explicar la diferencia
entre clase y objeto; la clase coche representa a todos los coches. Sin
embargo cuando me fijo en un coche concreto, entonces me estoy fijando en
un objeto de clase coche (es decir, un ejemplar de una clase es un objeto).

Por ejemplo, si quisiéramos crear el juego del parchís en Java, una clase
sería la casilla, otra las fichas, otra el dado, etc., etc. En el caso de la casilla,
se definiría la clase para indicar su funcionamiento y sus propiedades, y luego
se crearía tantos objetos casilla como casillas tenga el juego.

Lo mismo ocurriría con las fichas, la clase ficha definiría las propiedades de
la ficha (color y posición por ejemplo) y su funcionamiento mediante sus
métodos (por ejemplo un método sería mover, otro llegar a la meta, etc.,
etc., ), luego se crearían tantos objetos ficha, como fichas tenga el juego.

(6.1.2) UML

Como ya se comentó en temas anteriores UML es una notación estándar que
define diagramas para utilizar en las fases de análisis y diseño de aplicaciones.
La cuestión es que UML siempre ha tenido una buena relación con Java. Por
ello ha tenido mucho éxito entre los analistas de aplicaciones en Java. Por
supuesto UML es una notación orientada a objetos.

Debido a su clara aceptación como estándar en el mundo de la Ingeniería
del Software, en estos apuntes se utilizan sus diagramas para modelar clases,
objetos y aspectos de la aplicación. En especial Java y UML siempre han tenido
una excelente relación.

Actualmente la última versión de UML es la 2.2 (ISO aceptó como estándar

la especificación UML 1.4.2).

(6.1.3) propiedades de la POO

♦ Encapsulamiento. Indica el hecho de que los objetos encapsulan datos
y métodos. Una clase se compone tanto de variables (propiedades)
como de funciones y procedimientos (métodos). De hecho no se
pueden definir variables (ni funciones) fuera de una clase (es decir, en
los programas orientados a objetos no hay variables globales).

♦ Ocultación. Durante la creación de las clases de objetos, hay métodos
y propiedades que se crean de forma privada. Es decir, hay métodos y
propiedades que sólo son visibles desde la propia clase, pero que no
son accesibles desde otras clases. Cuando la clase está ya creada y
compilada, esta zona privada permanece oculta al resto de clases. De
esta forma se garantiza la independencia entre clases.

♦ Polimorfismo. Cada método de una clase puede tener varias
definiciones distintas. En el caso del parchís: partida.empezar(4)

(7)

fundamentos de programación
(unidad 6) programación orientada a objetos


empieza una partida para cuatro jugadores, partida.empezar(rojo,
azul) empieza una partida de dos jugadores para los colores rojo y
azul; estas son dos formas distintas de emplear el método empezar,
por
la
programación y reutilización de clases.

lo tanto este método es polimórfico. Esto simplifica

♦ Herencia. Mediante la POO podemos definir clases que utilicen
métodos y propiedades de otras (que hereden dichos métodos y
propiedades). De esta forma podemos establecer organizaciones
jerárquicas de objetos. la herencia se trata en la unidad siguiente.

(6.2) introducción al concepto de objeto
Un objeto es cualquier entidad representable en un programa informático,
bien sea real (ordenador) o bien sea un concepto (transferencia). Un objeto
en un sistema posee: una identidad, un estado y un comportamiento.

El estado marca las condiciones de existencia del objeto dentro del
programa. Lógicamente este estado puede cambiar. Un coche puede estar
parado, en marcha, estropeado, funcionando, sin gasolina, etc. El estado lo
marca el valor que tengan las propiedades del objeto.

El comportamiento determina como responde el objeto ante peticiones de
otros objetos. Por ejemplo un objeto conductor puede lanzar el mensaje
arrancar a un coche. El comportamiento determina qué es lo que hará el
objeto (es decir, qué ocurre cuando se arranca el coche).

La identidad es la propiedad que determina que cada objeto es único
aunque tenga el mismo estado. No existen dos objetos iguales. Lo que sí
existen son dos referencias al mismo objeto

Los objetos se manejan mediante referencias. Cuando se crea un objeto
necesitamos una referencia al mismo, de modo que esa referencia permitirá
cambiar los atributos del objeto o invocar a los métodos de dicho objeto.

Puede haber varias referencias al mismo objeto, de modo que si una
referencia cam
  • Links de descarga
http://lwp-l.com/pdf1466

Comentarios de: Programación Orientada a Objetos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad