Hogar Finanzas personales Programación java: creación de una subclase - dummies

Programación java: creación de una subclase - dummies

Video: 74. Programación en Java || POO || Herencia en POO 2024

Video: 74. Programación en Java || POO || Herencia en POO 2024
Anonim

Cuando escribe un programa orientado a objetos en Java, comienza pensando en los datos. Estás escribiendo sobre cuentas. Entonces, ¿qué es una cuenta? Está escribiendo código para manejar clics de botón. Entonces, ¿qué es un botón? Está escribiendo un programa para enviar cheques de nómina a los empleados. ¿Qué es un empleado?

En este ejemplo, un empleado es alguien con un nombre y un título de trabajo. Claro, los empleados tienen otras características, pero por ahora se adhieren a lo básico. El código en este listado define lo que significa ser un empleado.

import static java. lang. Sistema. fuera; public class Employee {private String name; private String jobTitle; public void setName (String nameIn) {name = nameIn;} public String getName () {return name;} public void setJobTitle (String jobTitleIn) {jobTitle = jobTitleIn;} public String getJobTitle () {return jobTitle;} public void cutCheck (doble amountPaid) {out printf ("Pagar al orden de% s", nombre); fuera. printf ("(% s) *** $", jobTitle); fuera. printf ("%,.2fn", amountPaid);}}

En la lista, se define una clase Employee. Puede usar lo que defina aquí y ampliar la definición para crear clases nuevas y más especializadas. Entonces en esta próxima lista, usted define una nueva clase: una clase FullTimeEmployee.

public class FullTimeEmployee extends Employee {private double weeklySalary; doble beneficio privadoDeducción; public void setWeeklySalary (doble semanalSalaryIn) {weeklySalary = weeklySalaryIn;} public double getWeeklySalary () {return weeklySalary;} public void setBenefitDeduction (double benefitDedIn) {benefitDeduction = benefitDedIn;} public double getBenefitDeduction () {return benefitDeduction;} public double findPaymentAmount () {return weeklySalary - benefitDeduction;}}

Al mirar el listado, puede ver que cada instancia de la clase FullTimeEmployee tiene dos campos: weeklySalary y benefitDeduction. Pero, ¿son esos los únicos campos que tiene cada instancia de FullTimeEmployee? No, no lo son.

La primera línea dice que la clase FullTimeEmployee amplía la clase Employee existente. Esto significa que, además de tener un semanalSalary y un beneficioDeducción, cada instancia de FullTimeEmployee también tiene otros dos campos: name y jobTitle. Estos dos campos provienen de la definición de la clase Empleado, que puede encontrar en la primera lista.

En el segundo listado, la palabra mágica se extiende . Cuando una clase amplía una clase existente, la clase extendida hereda automáticamente la funcionalidad definida en la clase existente.Por lo tanto, la clase FullTimeEmployee hereda los campos name y jobTitle.

La clase FullTimeEmployee también hereda todos los métodos que se declaran en la clase Employee: setName, getName, setJobTitle, getJobTitle y cutCheck. La clase FullTimeEmployee es una subclase de la clase Employee.

Eso significa que la clase Employee es la superclase de la clase FullTimeEmployee. También puede hablar en términos de parientes consanguíneos. La clase FullTimeEmployee es el hijo de la clase Employee, y la clase Employee es la parent de la clase FullTimeEmployee.

Casi (pero no del todo) como si la clase FullTimeEmployee estuviera definida por el código en esta lista. Este código es falso, pero informativo.

import java estático. lang. Sistema. fuera; public class FullTimeEmployee {private String name; private String jobTitle; doble semanal privadoSalary; doble beneficio privadoDeducción; public void setName (String nameIn) {name = nameIn;} public String getName () {return name;} public void setJobTitle (String jobTitleIn) {jobTitle = jobTitleIn;} public String getJobTitle () {return jobTitle;} public void setWeeklySalary (doble semanalSalaryIn) {weeklySalary = weeklySalaryIn;} public double getWeeklySalary () {return weeklySalary;} public void setBenefitDeduction (double benefitDedIn) {benefitDeduction = benefitDedIn;} public double getBenefitDeduction () {return benefitDeduction;} public double findPaymentAmount () {return weeklySalary - benefitDeduction;} público void cutCheck (double amountPaid) {out. printf ("Pagar al orden de% s", nombre); fuera. printf ("(% s) *** $", jobTitle); fuera. printf ("%,.2fn", amountPaid);}}

¿Por qué este código es falso? Bueno, la principal diferencia entre esta lista y la situación de herencia en las listas anteriores es la siguiente: una clase hija no puede hacer referencia directa a los campos privados de su clase padre. Para hacer cualquier cosa con los campos privados de la clase padre, la clase hija tiene que llamar a los métodos de acceso de la clase padre.

De vuelta en la segunda lista, llamar a setName ("Rufus") sería legal, pero el nombre del código = "Rufus" no lo sería. Si crees todo lo que lees en el último listado, pensarías que el código en la clase FullTimeEmployee puede hacer name = "Rufus". Bueno, no puede.

No necesita el empleado. archivo java en su disco duro para escribir código que amplíe la clase Empleado. Todo lo que necesitas es el archivo Employee. clase.

Programación java: creación de una subclase - dummies

Selección del editor

Programación java: creación de una subclase - dummies

Programación java: creación de una subclase - dummies

Cuando se escribe un programa orientado a objetos en Java, se comienza por pensando en los datos. Estás escribiendo sobre cuentas. Entonces, ¿qué es una cuenta? Está escribiendo código para manejar clics de botón. Entonces, ¿qué es un botón? Está escribiendo un programa para enviar cheques de nómina a los empleados. ¿Qué es un empleado? En este ejemplo, un empleado es alguien con ...

Java: Use Simple If Statements - dummies

Java: Use Simple If Statements - dummies

Una instrucción condicional en una aplicación Java comienza con una condición y finaliza con una tarea. Usas declaraciones condicionales todos los días. Otro ejemplo de una declaración condicional es: "Elija el elemento que más se acerque a su edad de esta lista para su premio. "¡Los programas también pueden usar ese tipo de declaración condicional! El principal ...

Java Iteraciones de Programación y Bucle - Dummies

Java Iteraciones de Programación y Bucle - Dummies

Para hacer que los bucles de su programa Java sean más fáciles de escribir y más fáciles de entender, necesita saber cómo las sentencias break y continue de Java afectan las iteraciones de bucle. Declaración de interrupción de Java Eche un vistazo al programa a continuación. El programa genera aleatoriamente un número del 1 al 10, y le pide repetidamente al usuario que adivine ese número. ...

Selección del editor

Visualización de datos: usando gráficos menos comunes: simulaciones

Visualización de datos: usando gráficos menos comunes: simulaciones

Cuando intenta encontrar gráficos visualmente atractivos para mostrar sus datos, es importante tener en cuenta que el objetivo final de cualquier visualización de datos es tomar un gran conjunto de datos y mostrar datos de inteligencia en forma de tablas, texto y otros elementos visuales que son fáciles de digerir por el usuario. . ...

Visualización de datos: comprensión de la adopción de usuarios: variables ficticias

Visualización de datos: comprensión de la adopción de usuarios: variables ficticias

Obteniendo una alta tasa de adopción de usuarios para la visualización de datos (datos a saber corto) es su objetivo más importante. Aunque esto puede parecer obvio, la adopción del usuario (UA) es una idea de último momento en muchas organizaciones. Es lo que todos enfocan después de que la solución se implementa para los usuarios. La adopción del usuario (UA) se define como ...

Evaluación de Visualizaciones de Datos - dummies

Evaluación de Visualizaciones de Datos - dummies

Las visualizaciones de datos pueden ser muy coloridas e impresionantes. Pero recuerde que la clave para crear visualizaciones efectivas de datos no depende de si es emocionante, sino de si descubre los problemas comerciales reales que deben abordarse. Una hoja de trabajo le ayuda a crear sus propias visualizaciones de datos o evaluar las creaciones de los demás. Aquí ...

Selección del editor

Ideas para almuerzos saludables que sus hijos realmente podrían comer: tontos

Ideas para almuerzos saludables que sus hijos realmente podrían comer: tontos

Es tentador llenar los platillos de su hijo lonchera con alimentos preempacados y convenientes. Después de todo, a su hijo le gusta el sabor lo suficientemente bien como para comer lo que viene en un envoltorio, una taza o una caja colorida. Pero con un poco más de ingenio, puedes empacar el almuerzo de un niño que sabes que es saludable y tus hijos piensan que es ...

Identificar las señales de sed: maniquíes

Identificar las señales de sed: maniquíes

El agua es un elemento básico de la vida. De hecho, los cuerpos humanos son alrededor del 65 por ciento de agua. Cuando su cuerpo necesita más agua, le permite saber a través de señales de sed. ¿Pero sabías que las personas a menudo confunden sed de hambre? Si tu estómago comienza a retumbar y quieres comer, toma un trago de agua. ...

Libro de cocina de iBS Hoja de trucos: maniquíes

Libro de cocina de iBS Hoja de trucos: maniquíes

Disminuyen los síntomas del síndrome de intestino irritable (SII) al cocinar comiendo los alimentos correctos. Vivir con IBS-C o -D puede ser un desafío, pero no te resignas a aceptar brotes. Puede tratar e incluso prevenir esos ataques de SII al saber qué contiene su comida, reconocer y evitar sus desencadenantes personales de SII, y almacenar y ...