PDF de programación - Programación orientada a objetos (I)

Imágen de pdf Programación orientada a objetos (I)

Programación orientada a objetos (I)gráfica de visualizaciones

Publicado el 9 de Julio del 2017
1.048 visualizaciones desde el 9 de Julio del 2017
396,2 KB
7 paginas
Creado hace 14a (25/03/2010)
Desarrollo de Funciones en el Sistema Informático
Curso 2009/2010

Programación orientada a objetos (I)

Introducción a la POO
La programación orientada a objetos es la penúltima evolución respecto a las metodologías de
programación. En esta entrada veremos algunos de los conceptos básicos que conciernen a
este tipo de programación, que ampliaremos en entradas siguientes.
Clases y objetos
La programación orientada a objetos se basa en un modelo de lo que vemos en la vida real.
Para vosotros no será algo nuevo introduciros en este modelo, ya que habéis realizado un
proceso de abstracción muy similar en el modelo Entidad-Interrelación (modelo ER) del módulo
Sistemas Gestores de Bases de Datos.
Decíamos en una entrada anterior que “todo programa en Java se construye a base de
objetos”. Pero en realidad, el programador de Java no define objetos, sino clases. Y en
concreto, clases de objetos.
Pero, ¿qué es una clase? Una clase es una plantilla de un conjunto de objetos que tienen
características similares.
La definición en sí nos dice muy poco, pero con un par de ejemplos seguro que lo entendéis
muy bien.

Ejemplo 1 (para aquellos que ya habéis estudiado el modelo ER del módulo SGBD).
Una clase es equivalente a una entidad, con algunas características adicionales que
posteriormente veremos. Un objeto es equivalente a una instancia de una entidad.

Ejemplo 2 (para el resto de alumnos).
Haremos una analogía con respecto a la vida real: si os digo que penséis en un caballo,
seguramente todos coincidiremos más o menos en algo parecido: un animal que tiene cuatro
patas, una cola, cabellera que sale desde la cabeza y llega hasta el lomo, … Pero ese caballo no
existe en la realidad, nos hemos creado mentalmente un modelo abstracto para el concepto de
caballo. A ese modelo mental es lo que denominaremos clase.
Si queremos, por ejemplo, montar a caballo, será complicado hacerlo en ese modelo que
tenemos en la cabeza. Para poder disfrutar con él, necesitamos tener un caballo en concreto. A
esa concreción (instancia) del caballo es lo que llamaremos objeto.
Ese caballo (objeto) será único, y no es posible que exista otro igual. Por tanto, tendrá
características diferenciadoras al resto de caballos (otros objetos), como el color de su cuerpo,
el peso, el largo de sus patas, etcétera.

Teoría 9 (TEO09)

Página 1 de 7

Desarrollo de Funciones en el Sistema Informático
Curso 2009/2010

Gráficamente:

caballo

(concreción)

caballo

(concreción)

caballo

(modelo abstracto)

caballo

(concreción)

caballo

(concreción)

Cuando empecemos a programar en Java, el primer objetivo es construirnos el conjunto de
clases adecuadas para resolver los requerimientos de nuestro programa.
Atributos y métodos
Una clase se compone de dos partes fundamentales: los atributos y los métodos.
Atributos
Los atributos contienen información sobre un objeto. Si pensamos en una clase coche, sus
atributos podrían ser:

cilindrada: 1800, 2000, 2800.
color: blanco, azul, negro, plata.



• gama: monovolumen, cabrio, coupé.

Los atributos se definen por medio de variables, así que podemos considerarlas como variables
del propio objeto.
Métodos
Los métodos permiten añadir comportamiento a un objeto. Esta es la diferencia fundamental
respecto a lo que conocéis como entidad en el modelo ER aquellos que habéis estudiado el
módulo SGBD, puesto que la entidad era algo “estático”.
Un método nos permite interactuar con el objeto al que pertenece, o bien interactuar con otros
objetos. Si continuamos con el ejemplo de la clase coche, podríamos tener los siguientes
métodos:

• Arrancar.
• Parar.
• Frenar.
• Acelerar.

Los métodos se definen por medio de funciones, así que podemos considerarlos como
funciones del propio objeto.

Teoría 9 (TEO09)

Página 2 de 7

Desarrollo de Funciones en el Sistema Informático
Curso 2009/2010

Mi primera clase en Java
Una vez aprendidos los conceptos teóricos sobre las clases y objetos en Java, apliquemos lo
estudiado en la práctica.
Utilizaremos para este ejemplo la clase coche de la que hablamos en la entrada anterior.
Mi primera clase
El primer paso es definir la clase, de la siguiente manera:

class Coche {
}

Ya tenemos el primer paso. No parece tan difícil, ¿verdad?
El segundo paso es especificar qué atributos necesitamos en nuestro coche. Por ejemplo:

Integer cilindrada;
String color;
Double precio;
boolean isArrancado;

Bien, ya tenemos cuatro atributos: cilindrada de tipo Integer (fijaos que no he utilizado el
tipo básico int, sino su envoltorio Integer); color de tipo String; precio de tipo Double (al
igual que en el caso de cilindrada, no utilizo el tipo básico, sino su envoltorio, en este caso
Double en lugar de double); e isArrancado de tipo boolean. Esta última indica si el motor del
coche está arrancado o no lo está.
El tercer y último paso para construir nuestra clase es definir el comportamiento (métodos) de
nuestro coche. En concreto, únicamente vamos a tratar que el coche haya arrancado o esté
parado. Para ello, haremos lo siguiente:

void arrancar() {

if (isArrancado != true) {
isArrancado = true;
System.out.println (“¡¡¡Brrrrrrr!!! El coche acaba de arrancar.”);
} else {
System.out.println (“¡¡¡Kisch, kishch!!! El coche ya está arrancado.”);
}

}
El método arrancar() comprueba si el coche está arrancado. Si no lo está, lo arranca (con la
línea isArrancado = true) y nos avisa con un mensaje. Si lo está, simplemente nos informa
que el coche ya había arrancado.

Teoría 9 (TEO09)

Página 3 de 7

Desarrollo de Funciones en el Sistema Informático
Curso 2009/2010

Ya tenemos creada la clase con sus atributos y un método. El código completo es este:

class Coche {

Integer cilindrada;
String color;
Double precio;
boolean isArrancado;

void arrancar() {
if (isArrancado != true) {
isArrancado = true;
System.out.println (“¡¡¡Brrrrrrr!!! El coche acaba de arrancar.”);
} else {
System.out.println (“¡¡¡Kisch, kishch!!! El coche ya está arrancado.”);
}
}

}

código de Coche.class
Fijaos que primero se definen los atributos y a continuación el método, esto es por convención
de Java.
Este fichero debemos grabarlo con el nombre de la clase que hemos definido, seguido de la
extensión .java. Es decir, debemos guardar el fichero con el nombre Coche.java.
Añadiendo funcionalidad a la clase
Vamos a añadir un método para conseguir mayores prestaciones sobre la clase y para que
veáis qué sencillo es ampliar el comportamiento de una clase.
El nuevo método nos permitirá mostrar el valor de cada uno de los atributos. Vamos a llamarlo
verCoche(). El código es este:

void verCoche() {

System.out.println(“Este coche es de color ” + color + ” tiene una

cilindrada de ” + cilindrada + ” y cuesta ” + precio + ” euros.”);

if (isArrancado == true) {

System.out.println (“Ahora mismo está arrancado.”);

} else {

System.out.println (“Ahora mismo está parado.”);

}

}

Teoría 9 (TEO09)

Página 4 de 7

Desarrollo de Funciones en el Sistema Informático
Curso 2009/2010

Este método mostrará dos líneas por pantalla: la primera mostrará el color, cilindrada y precio
del coche y la segunda nos dirá si el coche está arrancado o parado.
Introducimos dentro de la clase este nuevo método y volvemos a guardar el fichero. El código
ahora es este:

class Coche {

Integer cilindrada;
String color;
Double precio;
boolean isArrancado;

void arrancar() {
if (isArrancado != true) {
isArrancado = true;
System.out.println (“¡¡¡Brrrrrrr!!! El coche acaba de arrancar.”);
} else {
System.out.println (“¡¡¡Kisch, kishch!!! El coche ya está arrancado.”);
}
}

void verCoche() {

color + ” y cuesta ” + precio + ” euros.”);

System.out.println(“Este coche es un ” + marca + ” de color ” +

if (isArrancado == true) {

System.out.println (“y ahora mismo está arrancado.”);

} else {

System.out.println (“y ahora mismo está parado.”);

}

}

}

Crear un programa para trabajar con la clase
Ya podemos compilar el fichero. Pero únicamente hemos definido una clase, con lo que no es
posible ejecutar nada, ya que no hay nada que ejecutar.
Necesitamos un programa que nos permita trabajar con la clase coche que acabamos de crear.
Este programa deberá crear objetos de la clase (recordad que “una clase” no es algo que
exista en realidad, sino una plantilla de esa realidad, que es el objeto) y trabajar con ellos.

código de Coche.class

Teoría 9 (TEO09)

Página 5 de 7

Desarrollo de Funciones en el Sistema Informático
Curso 2009/2010

Veamos un ejemplo de programa y después lo comentaremos.

public static void main (String args[]) {

Coche c;
c = new Coche();
c.cilindrada= 1800;
c.color = “plata”;
c.precio = 25000.0;
System.out.println (“¿Qué coche es este?”);
c.verCoche();
System.out.println(“Vamos a arrancar el coche”);
c.arrancar();
System.out.println (“¿Qué coche es este?”);
c.verCoche();
System.out.println(“Vamos a arrancar el coche”);
c.arrancar();

}

código de TestCoche.class

El método main() ya lo conocéis de vuestro primer programa HolaMundo.java que hicisteis
hace unos días. Ahora ya tenemos un programa que podemos ejecutar.
Declaración y acceso a los objetos
Comentemos el programa anterior para entender cómo se trabaja en Java con los objetos.
En la primera línea, Coche c; , se declara un objeto de la clase Coche. A diferencia de C, la
declaración no significa reserva en memoria. En el momento de la declaración, el objeto tiene
el valor null. Para “crear” un objeto en realidad (y por tanto poder trabajar con él), se
necesita utilizar el operador new.
La segunda línea c = new Coche();, crea un objeto de la clase Coche y lo asigna al objeto
que se había declarado en la anterior línea.
A partir de la tercera línea, se comienza a trabajar con el objeto recién creado. Con estas tres
líneas:

c.cilindrada= 1800;
c.color = “pl
  • Links de descarga
http://lwp-l.com/pdf5066

Comentarios de: Programación orientada a objetos (I) (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