Está en la página 1de 9

UNIVERSIDAD CATÓLICA DE SANTA MARÍA

Curso:
Lenguajes de programación III – 05
Tema:
Miembros de Instancia y de Clase
Docente:
Mario César Santillana Valdivia
Autores:
Jose Manuel Huamani Paucara
Andres Isaias Ccaso Mamani
Adrián Alessandro Calderón Begazo

2022
Ejercicios
1. Dadas las siguientes clases identifique cuales son variables de clase, variables
de instancia, métodos de instancia y métodos de clase. Posteriormente
implemente y compruebe la funcionalidad de estas.
Variable de clase:
● count
● a
● b
Variable de instancia:
● OwnerName
● distance
● idBicy
Métodos de
clase:
● Counter ()
● Bicycle mostUsed (Bicycle x, Bicycle y)
Métodos de instancia:
● Bicycle (String OwnerName, int distance)
● getOwnerName ()
● getDistance ()
● distanceTraveled (int meters)
● toString ()

2. Sean las siguientes clases Contador y ContadorTest. Analícelas, pruebe


su funcionamiento.
3. Elabore un informe en el que evidencie y responda las siguientes preguntas en
relación con el ejercicio anterior: (El informe debe ser subido al aula virtual al
término de la sesión).
a) ¿Se pueden realizar las siguientes modificaciones en el código de la clase
Contador, sin que cambie el funcionamiento de la clase? ¿Por qué?
1. Cambiar en el constructor Contador:
“acumulador += valor” por “this. acumulador += valor”

Colocando “this. acumulador += valor” no afecta en nada ya que this


solo hace referencia a ese objeto ya que el colocarlo o no, no afecta
el resultado
2. Cambiar en el constructor Contador:
“acumulador += valor” por “Contador.acumulador += valor”

Colocando “this. valor++” no cambiamos en nada los valores que nos


muestra por pantalla ya que el “this” solo hace referencia a un
objeto” que en este caso es el incremento que se realiza en el proceso.
3. Cambiar en el método inc ():
“valor++” por “this. valor+
+”

Colocando
“this. valor++” no cambiamos en nada los valores que nos muestra por
pantalla ya que el “this” solo hace referencia a un objeto” que en este
caso es el incremento que se realiza en el proceso.
b) ¿Qué valores imprime el programa ContadorTest? ¿Por qué?

Nos da los
valores: 0, 5, 11, 16; porque en el main colocamos los valores de 3 y 10 y
luego llamamos dos veces a el objeto c1 y una vez a c2, “3” que está en c1
pasa por el método inc () dos veces y nos da el valor “5”, luego “10” valor
del objeto c2 pasa por el método inc () y nos da el valor 11 y al final a traves
del método acumulador () nos da la suma de todos los valores.

c) Si cambiamos en la clase Contador la línea: “static int acumulador = 0” por


“private static int acumulador = 0” ¿aparece algún error? ¿por qué?

No salta un error ya que la variable ahora es privada por tal motivo para
usarla en el main se debe crear un set y get para dicha variable.

d) ¿Qué sucede si no inicializamos el valor del campo acumulador?


Si no inicializamos el valor no pasara nada ya que por defecto se sabes que
cualquier variable creada toma como valor 0 por defecto en este caso
como el valor inicial fue 0 no afecto en nada la ejecución

e) Vamos a agregar una constante (VALOR_INICIAL) a la clase Contador y


otro constructor, tal como se muestra a continuación (las modificaciones
están enmarcadas):

f) Fíjate en la instrucción “this (Contador.VALOR_INICIAL)”. ¿Qué hace está


instrucción?

La instrucción le da un valor entero, y con el this referenciamos a la variable


de instancia.
g) Escriba una clase ContadorTest2 que compruebe y evidencie el
funcionamiento de la clase modificada y de la respuesta al ejercicio
anterior.
h) ¿Qué sucede si cambiamos la instrucción “this (¿contador?
VALOR INICIAL)” por “new Contador
(Contador.VALOR_INCIAL)”?

Con el new estamos creando un nuevo objeto, el contador con el valor de 10


que se definió antes en este caso, pero no existe un return así que se seguirá
iniciando con el número 0.

i) ¿Qué sucede si el primer constructor lo modificamos de la siguiente


forma? Se genera un error, porque no se le puede asignar un valor que haya
sido creado fuera de la clase.
j) Realice las siguientes modificaciones en la clase Contador:
1. Añada una variable de clase nContadores que contega el número
de contadores creados.

2. Añada una variable de clase ultimoContador que almacene el


valor inicial del utlimo contador creado.

3. Escriba una clase ContadorTest3 que compruebe y evidencia


el funcionamiento de la clase con estas últimas
modificaciones.

También podría gustarte