Dudas con la tarea

Hola!! como el titulo dice esta es mi tarea xD lei mi libro pero hay algunas cosas que no me quedan claras, mis respuestas las pondre en negritas espero y me puedan ayudar a corregir algun error que pueda tener por ahi o a aclarar algunos conceptos :D.

1. Agrega a la clase Bicicleta un segundo miembro de datos numSerie del tipo String. Declara este miembro de datos como privado.


class Bicicleta {

private String numSerie;

}

2. Agrega un método modificador para el nuevo miembro de datos. Añada un nuevo método a la clase Bicicleta que asigne un número de serie. Este método se llamará como sigue:

Bicicleta bici = new Bicicleta( );

bici.estableceNumSerie("2004-134R");


public void estableceNumSerie() (String numSerie)

{

Serie = numSerie;

}


3. Agrega un método de acceso para el nuevo miembro de datos. Añada otro método más a la clase Bicicleta que devuelva el número de serie de la bicicleta. Este método se llamará como sigue:

Bicicleta bici = new Bicicleta( );

String serie = bici.obtenNumSerie( );

public String obtenNumSerie( ) {

return numSerie;

}

4. ¿Cuáles de los siguientes constructores No son válidos?

* public int ClaseA(int uno) { ... } // int no va ahi
* public ClaseB(int uno, int dos) { ... }
* void ClaseC( ) { ... } // falta modificador (private o public)

5. ¿Cuál es el propósito principal de un constructor? Crear objetos a partir de la clase en la que esta el constructor y que estos adquieran las carecteristicas definidas por los miembros de datos de la clase.

6. Si el miembro de datos velocidad es private, ¿es válido el siguiente código?
Robot artur;
artur = new Robot();
double velocidadActual = artur.velocidad;

Si por que la "velocidad" independientemente del tipo (public o private) ya esta definida y puede ser utilizada, mas no modificada.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de cfpmx

Hola que tal, tienes varios

Hola que tal, tienes varios detalles en tus ejercicios, que a continuación te corregiré:

1) Es correcto. Aunque te hablan de un segundo miembro de datos, y yo no veo ninguno en el código y creo que deberías ponerlo.

2) Es incorrecto. Primero que nada me imagino que sería mejor que declararas la clase entera, para que vayas viendo los cambios que se van haciendo a lo largo de los ejercicios y se refleje como se va formando la clase. Ahora bien, pasemos al error: Si en el ejercicio uno declaraste el atributo numSerie, debes utilizar ese nombre para realizar la asignación, en tu código utilizas la variable Serie, y esa variable ya no existe por lo que si llegaras a compilar la clase, te marcaría un error; además le pusiste doble paréntesis "public void estableceNumSerie( ) (String numSerie)" . Corrección:

class Bicicleta {
     private String numSerie;

     public void estableceNumSerie( String numSerie ) {
          this.numSerie = numSerie;
     }

}

Como el método public void estableceNumSerie( ) (String numSerie) recibe un parámetro llamado "numSerie" y la clase tiene el atributo private String numSerie; y como podemos apreciar ambos tienen el mismo nombre "numSerie", entonces para que el compilador pueda distinguir entre cuál es el atributo de clase y cuál es el parámetro del método debemos anteponerle la palabra this, el cuál indica que la variable que tiene antepuesta this es propia de la clase. O bien, una segunda alternativa, sería que el atributo de clase y el parámetro del método tengan diferentes nombres, es decir:

class Bicicleta {
     private String numSerie;

     public void estableceNumSerie( String Serie ) {
          numSerie = Serie;
     }

}

3) Es correcto, aunque sugiero que hagas la recomendación de añadirlo a la clase, por que poniendo la parte del método digamos en un archivo .java no significa nada.

4) Es "correcta e incorrecta" a la vez. El primer constructor es inválido por lo que comentas, el segundo es válido y el tercer constructor es inválido pero tu justificación es incorrecta, el constructor es erróneo ya que tiene declarado un tipo de retorno void (Vacío), los constructores jamás, jamás pero jamás tendrán un tipo de retorno y es lo que lo diferencía de los métodos. Incluso puede haber un método y un constructor con el mismo nombre y lo que los distinguirá será el tipo de retorno. Además, haciendo referencia al comentario que hiciste en la tercera declaración del constructor inválido, te comento que si no tuviera el tipo de retorno void, sería un constructor válido, ya que al no tener modificador de acceso (public, private o protected), existe un modificador implícito llamado default.

5) Incorrecto. Diría yo que un constructor no CREA objetos el que los crea es la palabra reservada new, mas bien los construye e inicializa. No sé una definición exacta, pero ya te hice prácticamente la tarea, creo que no te cuesta nada "googlear" tantito.

6) Te la dejo de tarea, es incorrecto.

Puedes leer un poquito sobre los modificadores haciendo click aquí.

Atentamente, cfpmx

gracias en cuanto a la 5 ya

gracias en cuanto a la 5 ya encontre que es:
El constructor de una clase es un método estándar para inicializar los objetos de esa clase

y de la es NO por que eso es una subclase :D creooo gracias man!

Imagen de cfpmx

Está mal tu nueva

Está mal tu nueva justificación del ejercicio 6, lee en internet a cerca de los modificadores de acceso, y ahí encontrarás la respuesta. Mira esto tal vez te pueda orientar: Modificadores de Acceso: private

Imagen de liz_iris

reconocimiento de voz

hola me encargaron un programa en java que me permita captar la voz por el microfono y almacenar en un formato de audio (que yo pueda hablar y reproducir lo que hable con un codigo en java)
necesito de su asesoria para saber como empezar muchas gracias

Imagen de cfpmx

Hola liz_iris, Publica tus

Hola liz_iris,

Publica tus dudas en el foro, para que podamos ayudarte entre todos y así, tampoco mezclemos el problema de bitless con los tuyas. Hasta pronto.

Atentamente, cfpmx