Saltar la navegación

Actividad Final

Cuestionario final - única opción correcta

Pregunta

¿Cuáles son los 4 pilares de la Programación Orientada a Objetos?

Respuestas

Clases, Acoplamiento, Herencia, Polimorfismo.

Abstracción, Encapsulamiento, Herencia, Objetos y Polimorfismo.

Herencia, Abstracción, Polimorfismo, Encapsulamiento.

Pregunta

¿Cuál es la diferencia entre clase y objeto?

Respuestas

Un objeto es la plantilla o template que usaremos más tarde para hacer instancias de clases.

Una clase es la plantilla o template que creamos para instanciar objetos.

Pregunta

¿Cuál sería una buena metáfora para explicar la relación entre clases y objetos?

Respuestas

Las clases son como la correa que usas para pasear a tu mascota, en este caso, el objeto.

Un objeto es como el barco, y las clases serían mapas del tesoro.

Una clase es como un molde de muffins, y los objetos son los muffins que se crean a través de él.

Habilitar JavaScript

Rellena

Completa el código de Java con las palabras claves para que el mismo pueda compilar... es decir, lee el código a continuación, y rellena los huecos con las palabras dadas:

Banco de palabras (algunas se repitan):  extends | private | public 

Tenemos esta clase 'persona', pero… ¡No cumple con el principio de Encapsulamiento!
¿Qué falta por codear?

 Caso 1: 

    
class
Persona {   String nombre; int edad; ​ // Constructor Persona(String nombre, int edad) { this.nombre = nombre; this.edad = edad; } ​ // Método para mostrar la información de la persona void mostrarInfo() { System.out.println("Nombre: " + nombre + ", Edad: " + edad); } }

 Caso 2: 

    public
    class
    Personaje
    {
        
    String nombre;
        
    String tipo;
        
    int
    vida;
        
    int
    mana; ​
    // Constructor
      public
    Personaje(String nombre, String tipo, int
    vida,
    int
    mana)
    
    {
    this.nombre = nombre;
    this.tipo = tipo;
    this.vida = vida;
    this.mana = mana; }
       public
    void
    atacar()
    { System.out.println(this.nombre +
    
        "golpea con sus puños."
        
        ); } }
        public
        class
        Guerrero
          
        Personaje
        {
        // Constructor
        public
        Guerrero(String nombre)
        {
        super(nombre,
        "Guerrero",
        300,
        100);
        // Valores predeterminados para vida y mana
        } ​
        // Método específico de Guerrero
        public
        void
        atacar()
        { System.out.println(getNombre()
        +
        " está atacando con su espada."); } } ​
        //Sub-clase Mago
          
        class
        Mago
          
        Personaje
        {
        // Constructor
          
        Mago(String nombre)
        {
        super(nombre,
        "Mago",
        100,
        300);
        // Valores predeterminados para vida y mana
        } ​
        // Método específico de Mago
          
        void
        atacar()
        { System.out.println(getNombre()
        +
        " está lanzando un hechizo de fuego."); } }
        

Habilitar JavaScript

Creado con eXeLearning (Ventana nueva)