You are on page 1of 7

Las clases en java un segundo intento

EAM @cuitláhuacjava

Hasta el momento las clases se han definido de la siguiente forma:

class Miclase{

variables;

declaración de métodos;

Observa como se ha declarado la clase, y se le han colocado llaves para indicar su inicio y
final. Dentro de estas llaves se debe de colocar todo el código, que controla el ciclo de vida de
los objetos. Los constructores, se verán más delante, pero permiten inicializar a los objetos de
la clase en cuestión, la declaración de variables, definirán el estado de un objeto y los
métodos implementan el comportamiento de estos.

En el ejemplo que hemos estado manejado se ha creado la clase llamada Bicicletas.

class Bicicletas {

int cadencia = 0;
int velocidad = 0;
int cambios = 1;

void cambiodeCadencia(int nuevoValor) {


cadencia = nuevoValor;
}

void cambiodeVelocidades(int nuevoValor) {


cambios = nuevoValor;
}

void incrementodeVelocidad(int incremento) {


velocidad = velocidad + incremento;
}

void aplicarFrenos(int decremento) {


velocidad = velocidad - decremento;
}

void imprimeEstado() {
System.out.println("Cadencia: "+ cadencia+" Velocidad : "+velocidad+" Cambios: "+
cambios);
}
}

Como pueden ver esta clase tiene un nombre que inicia con “Mayúscula”, además le hemos
agregado, las variables que cambian el estado, de los objetos y los métodos para el
comportamiento y comunicación de los mismos.

Como ya también mencionamos, esta es solo una clase que no tiene gran valor para ejecutar
una aplicación completa. Para poder lograr que esto sea una aplicación completa en
standalone, debemos agregar a clase que contendrá el método “main” y es la única que podrá
llevar el modificador de acceso public, como se muestra a continuación.
public class BicicletasDemo {
int cadencia = 0;
int velocidad = 0;
int cambios = 1;
public static void main(String[] args) {

// Se crean dos diferentes objetos de la clase Bicicletas


Bicicletas bike1 = new Bicicletas();

// Invocando a los métodos por medio de los objetos


bike1.cambiodeCadencia(50);
bike1.incrementodeVelocidad(10);
bike1.cambiodeVelocidades(2);
bike1.imprimeEstado();
}
}

Para poder accede a los elementos de la clase Bicicletas, se deberá crear objetos que puedan
utilizar sus características, es decir variables y métodos y que se declaran de forma general:

Nombre_Clase referencia= new Nombre_Clase();

Para nuestro caso:

Bicicletas bike1 = new Bicicletas();

Ahora con esta declaración se creado la instancia o instanciado la clase, por lo que ahora
podemos utilizar las características en cuestión, de la siguiente forma:

bike1.cadencia=20;

bike.cambiodeCadencia(50);

Como pueden observar se ha utilizado la referencia bike1, para acceder a una variable y
método de la clase y así mismo, se le han podido asignar valores, note también se utilizado el
punto como parte de indicarle a java que parte de la clase quiero utilizar, en este caso la
variable cadencia y el método cambiodeCadencia();

Esto se vería en memoria de la siguiente forma:


cadencia

bike1 velocidad

cambios

Memoria
cambiodeCadencia()

Memoria
Ahora dentro en un mismo archivo puede haber varias clases, como se vio en laboratorio, cada
una puede tener sus propias características, por el momento repetiremos las mismas por
cuestiones de ejemplo, en cada clase. Para acceder a las características de cada una de las
clases, debemos crear los objetos correspondientes de estas, como en el caso de la clase
Bicicletas. Veamos el caso concreto del ejemplo de laboratorio, teníamos que crear, cuatro
clases más.

class BicicletadeMontaña{

class BicicletaAcrobatica{

class BicicletadeCarreras{

Como podrán ver solo hemos creado las clases, no le hemos definido sus características,
ahora y por facilidad, repetiremos las mismas que teníamos en la clase Bicicletas.

class BicicletadeMontaña{
int cadencia = 0;
int velocidad = 0;
int cambios = 1;

void cambiodeCadencia(int nuevoValor) {


cadencia = nuevoValor;
}

void cambiodeVelocidades(int nuevoValor) {


cambios = nuevoValor;
}

void incrementodeVelocidad(int incremento) {


velocidad = velocidad + incremento;
}

void aplicarFrenos(int decremento) {


velocidad = velocidad - decremento;
}

void imprimeEstado() {
System.out.println("Cadencia: "+ cadencia+" Velocidad : "+velocidad+" Cambios: "+
cambios);
}

}
class BicicletaAcrobatica{

int cadencia = 0;
int velocidad = 0;
int cambios = 1;

void cambiodeCadencia(int nuevoValor) {


cadencia = nuevoValor;
}

void cambiodeVelocidades(int nuevoValor) {


cambios = nuevoValor;
}

void incrementodeVelocidad(int incremento) {


velocidad = velocidad + incremento;
}

void aplicarFrenos(int decremento) {


velocidad = velocidad - decremento;
}

void imprimeEstado() {
System.out.println("Cadencia: "+ cadencia+" Velocidad : "+velocidad+" Cambios: "+
cambios);
}

class BicicletadeCarreras{

int cadencia = 0;
int velocidad = 0;
int cambios = 1;

void cambiodeCadencia(int nuevoValor) {


cadencia = nuevoValor;
}

void cambiodeVelocidades(int nuevoValor) {


cambios = nuevoValor;
}

void incrementodeVelocidad(int incremento) {


velocidad = velocidad + incremento;
}

void aplicarFrenos(int decremento) {


velocidad = velocidad - decremento;
}

void imprimeEstado() {
System.out.println("Cadencia: "+ cadencia+" Velocidad : "+velocidad+" Cambios: "+
cambios);
}

}
Ahora que hemos creado las características de cada clase, debemos crear los objetos
respectivos de cada clase para acceder a estas:

BicicletadeMontaña bike2= new BicicletadeMontaña();


BicicletaAcrobatica bike3 = new BicicletaAcrobatica();
BicicletadeCarreras bike4 = new BicicletadeCarreras();

Con la creación de los objetos respectivos creados, podemos acceder a las características de
cada clase por medio de estos y de acuerdo a la sintaxis que ya conocemos. Procederemos a
ver el programa completo y para redondear el ejercicio, deberá invocar a los métodos
correspondientes de cada clase por medio de sus objetos creados, para ver los resultados
correspondientes.

public class BicicletasDemo {


int cadencia = 0;
int velocidad = 0;
int cambios = 1;
public static void main(String[] args) {

// Se crean dos diferentes objetos de la clases de Bicicletas


Bicicletas bike1 = new Bicicletas();
BicicletadeMontaña bike2= new BicicletadeMontaña();
BicicletaAcrobatica bike3 = new BicicletaAcrobatica();
BicicletadeCarreras bike4 = new BicicletadeCarreras();

// Invocando a los métodos de la clase Bicicletas por medio de los objetos


bike1.cambiodeCadencia(50);
bike1.incrementodeVelocidad(10);
bike1.cambiodeVelocidades(2);
bike1.imprimeEstado();

/* Complete código faltante para invocar las propiedades de las demás clases, por medio de
sus objetos*/
}
}

class Bicicletas {

int cadencia = 0;
int velocidad = 0;
int cambios = 1;

void cambiodeCadencia(int nuevoValor) {


cadencia = nuevoValor;
}

void cambiodeVelocidades(int nuevoValor) {


cambios = nuevoValor;
}

void incrementodeVelocidad(int incremento) {


velocidad = velocidad + incremento;
}

void aplicarFrenos(int decremento) {


velocidad = velocidad - decremento;
}

void imprimeEstado() {
System.out.println("Cadencia: "+ cadencia+" Velocidad : "+velocidad+" Cambios: "+
cambios);
}
}

class BicicletadeMontaña{
int cadencia = 0;
int velocidad = 0;
int cambios = 1;

void cambiodeCadencia(int nuevoValor) {


cadencia = nuevoValor;
}

void cambiodeVelocidades(int nuevoValor) {


cambios = nuevoValor;
}

void incrementodeVelocidad(int incremento) {


velocidad = velocidad + incremento;
}

void aplicarFrenos(int decremento) {


velocidad = velocidad - decremento;
}

void imprimeEstado() {
System.out.println("Cadencia: "+ cadencia+" Velocidad : "+velocidad+" Cambios: "+
cambios);
}

class BicicletaAcrobatica{

int cadencia = 0;
int velocidad = 0;
int cambios = 1;

void cambiodeCadencia(int nuevoValor) {


cadencia = nuevoValor;
}

void cambiodeVelocidades(int nuevoValor) {


cambios = nuevoValor;
}

void incrementodeVelocidad(int incremento) {


velocidad = velocidad + incremento;
}

void aplicarFrenos(int decremento) {


velocidad = velocidad - decremento;
}

void imprimeEstado() {
System.out.println("Cadencia: "+ cadencia+" Velocidad : "+velocidad+" Cambios: "+
cambios);
}
}

class BicicletadeCarreras{

int cadencia = 0;
int velocidad = 0;
int cambios = 1;

void cambiodeCadencia(int nuevoValor) {


cadencia = nuevoValor;
}

void cambiodeVelocidades(int nuevoValor) {


cambios = nuevoValor;
}

void incrementodeVelocidad(int incremento) {


velocidad = velocidad + incremento;
}

void aplicarFrenos(int decremento) {


velocidad = velocidad - decremento;
}

void imprimeEstado() {
System.out.println("Cadencia: "+ cadencia+" Velocidad : "+velocidad+" Cambios: "+
cambios);
}

Como complemento de esta lección deberá de investigar lo siguiente:

¿Qué son los arreglos en java?


¿Tipos de arreglos en java?
¿Cómo se declara los arreglos en java?
Realizar un programa que reciba desde el teclado tres valores enteros y que los guarde
es un arreglo de datos tipo enteros llamado valores del teclado, que lea los datos
almacenados en el arreglo y los despliegue en pantalla.
Nota.-Esto no es una tarea ni cuenta para puntación de la calificación parcial ni
final del curso, es solo para que practiquen los conceptos que será aplicados.
Programas para la sesión del lunes 12/10/09
Completar el programa visto en este tutorial de las bicicletas, para que reciba
datos del teclado.
Que los datos introducidos por el teclado, deberán almacenarse en un arreglo
Los datos almacenados en el arreglo deberán ser asignados a las variables
cadencia, velocidad y cambios de cada clase.
Imprimir los resultados de cada clase.
Construir un programa que calcule y visualice por pantalla la media aritmética
de diez valores reales introducidos por teclado.
Construir un programa que pida introducir una cadena de caracteres por
teclado y visualice por pantalla el número de caracteres a y A que contiene
dicha cadena. Revise el método charAt() de java y la clase/paquete que lo
contiene, por lo necesitara usar en el programa

You might also like