Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
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

This comment has been minimized.

Copy link
Owner Author

XixoWreden commented Apr 27, 2019

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

This comment has been minimized.

Copy link
Owner Author

XixoWreden commented Apr 27, 2019

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
You can’t perform that action at this time.