Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Respuesta D: Estos return se encuentran invertidos ya que dentro del while se está validando
que cada carácter de la cadena (input) sea diferente al carácter que se encuentra en la
posición opuesta de esta cadena, es decir que dentro del while se está validando que la
palabra No sea palíndroma, por lo cual el retorno debería ser false en lugar de true para así
negar que esta palabra es Palíndroma.
Respuesta C: Porque según el diagrama UML, la subclase “Alternativo” hereda de “Vapor”.
Respuesta 2: Porque una subclase si puede heredar los miembros private de su superclase y
Java solo permite heredar de una sola clase.
Respuesta: La herencia fomenta la reutilización de código, ya que a lo largo de un problema se
pueden encontrar métodos o atributos que deben ser usados de manera constante, por lo que
no tiene sentido perder tiempo redefiniéndolos lo más lógico es reutilizar el código que ya
tenemos definido y para esto nos sirve la herencia. En el caso de la abstracción su ventaja es
que nos beneficia en la arquitectura de un programa al permitirnos predefinir métodos y
obligar a las clases hijas de una clase abstracta a implementar estos métodos.
Respuesta 1: Porque el método abstracto si obliga a las subclases para que lo implementen y a
una clase declarada como final no se le permite heredar.
Respuesta 8:
//Principal
package org.example;
import java.util.Scanner;
int id;
String name;
double price;
//Objetos para llamar a los metodos de precio según la clasificación del producto.
int respuesta; // Esta variable se usa para identificar el producto que el usuario desea.
respuesta = scan.nextInt();
switch (respuesta) {
case 1:
carrito[i] = proPerecedero1;
break;
case 2:
carrito[i] = proPerecedero2;
break;
case 3:
carrito[i] = proPerecedero3;
break;
case 4:
carrito[i] = proNoPerecedero1;
break;
case 5:
carrito[i] = proNoPerecedero2;
break;
//Clase Producto
package org.example;
public abstract class Producto {
int id = 0;
public Producto() {
public Producto(int id, String name, double price, int diasCad, boolean tipoPerecedero)
this.setId(id);
this.setName(name);
this.setPrice(price);
this.setDiasCad(diasCad);
this.setTipoPerecedero(tipoPerecedero);
//Constructor para inicializar las variables del producto no perecedero, este no recibe los
dias a caducar.
this.setId(id);
this.setName(name);
this.setPrice(price);
this.setDiasCad(diasCad);
this.setTipoPerecedero(tipoPerecedero);
}
//Encapsulamiento de los atributos de la clase
return id;
this.id = id;
return name;
this.name = name;
return price;
this.price = price;
return diasCad;
this.diasCad = diasCad;
}
return tipoPerecedero;
this.tipoPerecedero = tipoPerecedero;
double total = 0;
return total;
public ProPerecedero() {
public ProPerecedero(int id, String name, double price, int diasCad, boolean tipoPerecedero)
{
double total = 0;
if(carrito[i].isTipoPerecedero() == true )
switch (carrito[i].getDiasCad()) {
case 1:
break;
case 2:
break;
case 3:
break;
default:
}
}
return total;
public ProNoPerecedero() {
double total = 0;
int count = 0;
if (carrito[i].isTipoPerecedero() == false) {
return total;