L'héritage est un concept qui nous permet d'accéder aux propriétés et au comportement d'une classe à partir d'une autre classe. La classe qui hérite des méthodes et des variables membres est appelée une superclasse ou classe parent, et la classe qui hérite de ces méthodes et variables membres est appelée une sous-classe ou une sous-classe. En Java, nous utilisons le mot-clé "extends" pour hériter d'une classe.
Dans cet article, nous discuterons d'un programme Java permettant de calculer les intérêts sur les dépôts à terme et les dépôts à terme en utilisant l'héritage. Tout d’abord, créez ces quatre fichiers Java dans l’IDE de votre machine locale -
Acnt.java - Ce fichier contiendra une classe abstraite « Acnt » utilisée pour stocker les détails du compte tels que le taux d'intérêt et le montant. Il aura également une méthode abstraite 'calcIntrst' avec le paramètre 'amnt' pour calculer le taux d'intérêt.
FDacnt.java - Il calculera le taux d'intérêt sur les dépôts fixes (FD). Dans celui-ci, la classe 'FDacnt' héritera de la classe 'Acnt' et remplacera la méthode 'calcIntrst'.
RDacnt.java - Il calculera le taux d'intérêt sur les dépôts fixes (FD). Dans celui-ci, la classe 'RDacnt' héritera de la classe 'Acnt' et remplacera la méthode 'calcIntrst'.
Intrst.java - Ce fichier contiendra la méthode principale.
public abstract class Acnt{ double intrstRate; double amnt; abstract double calcIntrst(double amnt); }
import java.util.*; public class FDacnt extends Acnt { double FDintrstRate; double FDAmnt; int period; int age; double Gen, SenCitizen; Scanner input = new Scanner(System.in); @Override double calcIntrst(double amnt){ this.FDAmnt = amnt; System.out.println("Enter your FD days"); period = input.nextInt(); System.out.println("Enter the age of account holder "); age = input.nextInt(); if (amnt < 10000000) { if (period >= 7 && period <= 14) { Gen = 0.0450; SenCitizen = 0.0500; } else if (period >= 15 && period <= 29) { Gen = 0.0470; SenCitizen = 0.0525; } else if (period >= 30 && period <= 45) { Gen = 0.0550; SenCitizen = 0.0600; } else if (period >= 45 && period <= 60) { Gen = 0.0700; SenCitizen = 0.0750; } else if (period >= 61 && period <= 184) { Gen = 0.0750; SenCitizen = 0.0800; } else if (period >= 185 && period <= 365) { Gen = 0.0800; SenCitizen = 0.0850; } FDintrstRate = (age < 50) ? Gen : SenCitizen; } else { if (period >= 7 && period <= 14) { intrstRate = 0.065; } else if (period >= 15 && period <= 29) { intrstRate = 0.0675; } else if (period >= 30 && period <= 45) { intrstRate = 0.00675; } else if (period >= 45 && period <= 60) { intrstRate = 0.080; } else if (period >= 61 && period <= 184) { intrstRate = 0.0850; } else if (period >= 185 && period <= 365) { intrstRate = 0.10; } } return FDAmnt * FDintrstRate; } }
import java.util.*; public class RDacnt extends Acnt{ double RDIntrstRate; double RDamnt; int periods; double monthlyAmnt; double Gen, SenCitizen; Scanner input = new Scanner(System.in); @Override double calcIntrst(double amnt){ this.RDamnt = amnt; System.out.println("Enter your RD months"); periods =input.nextInt(); System.out.println("Enter the age of account holder"); int age =input.nextInt(); if (periods >= 0 && periods <= 6) { Gen = .0750; SenCitizen = 0.080; } else if (periods >= 7 && periods <= 9) { Gen = .0775; SenCitizen = 0.0825; } else if (periods >= 10 && periods <= 12) { Gen = .0800; SenCitizen = 0.0850; } else if (periods >= 13 && periods <= 15) { Gen = .0825; SenCitizen = 0.0875; } else if (periods >= 16 && periods <= 18) { Gen = .0850; SenCitizen = 0.0900; } else if (periods >= 22) { Gen = .0875; SenCitizen = 0.0925; } RDIntrstRate = (age < 50) ? Gen : SenCitizen; return RDamnt * RDIntrstRate; } }
import java.util.*; public class Intrst{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); System.out.println("Choose from the Options: " + "\n1." + " FD Interest" + " \n2." + " RD Interest" + "\n3." + " Exit"); int choice = sc.nextInt(); switch (choice){ case 1: FDacnt fds = new FDacnt(); System.out.println("Enter your FD Amount"); double fAmnt = sc.nextDouble(); System.out.println("Interest gained on your FD Amount is: $ " + fds.calcIntrst(fAmnt)); break; case 2: RDacnt rds = new RDacnt(); System.out.println("Enter your RD amount"); double RAmnt = sc.nextDouble(); System.out.println("Interest gained on your RD Amount is: $ " + rds.calcIntrst(RAmnt)); break; default: System.out.println("Choose correct choice"); } } }
Pour compiler ce code, tapez la commande suivante : javac Intrst.java
Maintenant, à exécuter : java IntrstChoose from the Options: 1. FD Interest 2. RD Interest 3. Exit 1 Enter your FD Amount 56000 Enter your FD days 325 Enter the age of account holder 32 Interest gained on your FD Amount is: $ 4480.0
Le programme ci-dessus est un programme piloté par menu. Lorsque nous exécutons le programme, trois options apparaîtront à l'écran. Sélectionnez 1 pour calculer le taux d’intérêt des dépôts à terme et sélectionnez 2 pour calculer le taux d’intérêt des dépôts à terme.
Nous utilisons le concept d'héritage hiérarchique pour calculer les dépôts à terme et les intérêts sur les dépôts à terme. La classe « Acnt » est héritée de ses deux sous-classes « FDacnt » et « RDacnt ».
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!