Skip to content

Instantly share code, notes, and snippets.

@XixoWreden
Created April 27, 2019 05:01
Show Gist options
  • Save XixoWreden/ba83a5bfb680d8e879c8494a5f471505 to your computer and use it in GitHub Desktop.
Save XixoWreden/ba83a5bfb680d8e879c8494a5f471505 to your computer and use it in GitHub Desktop.
Problema de Herencia con la clase
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.xixo.simulador1;
/**
* Dado las siguientes clases
* @author neroxixo
*/
public class Question1 {
public static void main(String[] args) {
Employee employee = new Employee();
Manager manager = new Manager();
Director director = new Director();
/**
* Con cuál de dos opciones no se compilan cuando se
* colocan en la línea n1 del metodo Main
*/
//OPTION 1
director.salary = 80_000;
System.out.println(director.salary); //run: 80000
//OPTION 2
employee.stackOptions = 334_323; //explicacion: Employee no hereda de Manager y Director, por lo tanto no tiene la variable
//OPTION 3
employee.budget = 200_000; //explicacion: Employee no hereda de Manager y Director, por lo tanto no tiene la variable
//OPTION 4
manager.budget = 500; //
System.out.println(manager.budget); //run: 500
}
}
class Employee{
public int salary;
}
class Manager extends Employee{
public int budget;
}
class Director extends Manager{
public int stackOptions;
}
@XixoWreden
Copy link
Author

Las opciones que darían un error y es precisamente por Herencia en la POO son:

OPTION 1 -- Employee no esta heredando de Director por lo tanto no puede alcanzar a ver la variable "stackOptions"
OPTION 2 -- Igualmente que la anterior Employee no esta heredando de Manager y por lo cual no alcanza a ver la variable "budget"

En resumen Si una Clase1 "hereda" o "extiende" de otra Clase2 esta primera Clase1 obtiene los Atributos y Funcionalidades de la Clase 2 siempre y cuando tenga los "MODIFICADORES DE ACCESOS" necesarios para poder ver esas piezas.

@XixoWreden
Copy link
Author

Si pensaste que la primera iba a fallar, pues no, el motivo es que en la Versión 7 de Java ya deja a las variables primitivas agregarles guión bajo para mayor legibilidad. Se pude revisar este blog para referencia.
Guión bajo en tipos numéricos en Java

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment