Java >> Tutoriel Java >  >> Java

Exemple d'abstraction en java | Programme d'archivage en temps réel

Abstraction est l'une des fonctionnalités majeures de la programmation orientée objet . L'abstraction en Java est utilisée pour ne montrer que les détails essentiels à l'utilisateur. Menas cachant une fonctionnalité interne inutile aux utilisateurs.

Par exemple, les applications mobiles intelligentes n'affichent que les applications utilisateur et les fonctions utiles comme dans Youtube regarder des vidéos. Youtube ne montre pas comment il est connecté en interne au serveur, en téléchargeant des vidéos et des codes. Les utilisateurs ne peuvent interagir qu'avec l'interface utilisateur de l'application.

Définition :- Abstraction est un processus de développement d'applications pour cacher les détails de mise en œuvre à l'utilisateur. Seules les fonctionnalités utiles de l'utilisateur seront fournies à l'utilisateur. Java Abstraction est réalisé en utilisant des classes abstraites et des interfaces.

Comment réaliser l'abstraction dans l'exemple Java

Il existe deux façons de réaliser l'abstraction en Java.

  • Classe abstraite (0 à 100 %)
  • Interface (atteindre 100 % d'abstraction)

Avant de voir l'exemple de l'abstraction, vous devez savoir quelques choses.

  • Méthode abstraite Java
  • Classe abstraite Java
  • Héritage
  • Interface Java

Voyons le code de programme d'exemple d'abstraction Java simple.

L'exemple a une classe abstraite Bank. Ensuite, il y a 2 autres classes qui représentent les banques avec leur méthode de taux d'intérêt.

abstract class Bank {
    abstract int getRateOfInterest();
}

class SBI extends Bank {
    int getRateOfInterest() {
        return 7;
    }
}

class HDFC extends Bank {
    int getRateOfInterest() {
        return 8;
    }
}

class TestBank {
    public static void main(String args[]) {
        Bank b;
        b = new SBI();
        System.out.println("SBI Interest is: " + b.getRateOfInterest() + " %");
        b = new HDFC();
        System.out.println("HDFC Interest is: " + b.getRateOfInterest() + " %");
    }
}

Quels sont quelques exemples d'abstraction en temps réel en Java ?

Réponse :- Voyons quelques exemples d'abstractions en temps réel :-

  • Véhicule (voiture/vélo) – Vous pouvez faire du vélo ou conduire une voiture sans savoir comment cela fonctionne.
  • Guichet automatique – C'est une machine d'occasion. Ici, vous pouvez effectuer des retraits d'espèces, des transferts d'argent, vérifier le solde bancaire, etc. Mais vous ne savez pas comment les implémentations internes ont fonctionné et fonctionnent.

Types d'abstraction

Généralement, l'abstraction peut être vue de deux manières :

  • Abstraction de données
  • Contrôle de l'abstraction

Abstraction avec interface

Une classe abstraite peut également être utilisée pour fournir une implémentation de l'interface. Utilisation d'une interface obligée d'implémenter toutes les méthodes. Voir l'exemple ci-dessous :-

interface MainInterface {
    void Method1();

    void Method2();

    void Method3();

}

abstract class SampleAbsClass implements MainInterface {
    public void Method4() {
        System.out.println("I am c");
    }
}

class NormalClass extends SampleAbsClass {


    @Override
    public void Method1() {

    }

    @Override
    public void Method2() {

    }

    @Override
    public void Method3() {

    }
}

class Example {
    public static void main(String args[]) {
        MainInterface mi = new NormalClass();
        mi.Method1();
        mi.Method2();
        mi.Method3();
    }
}

Comment faire abstraction d'une classe ayant un constructeur, un membre de données et des méthodes ?

Vous pouvez utiliser un membre de données, une méthode abstraite, un corps de méthode (méthode non abstraite), un constructeur et même la méthode main() dans la classe abstraite. Comme l'exemple ci-dessous.

abstract class Bike {
    Bike() {
        System.out.println("Bike created");
    }

    abstract void run();

    void changeGear() {
        System.out.println("Gear changed");
    }
}

//Creating a Child class inherits Abstract class
class Honda extends Bike {
    void run() {
        System.out.println("Bike is running safely...");
    }
}

//Creating a Test class which calls abstract and non-abstract methods
class BikeAbstraction {
    public static void main(String args[]) {
        Bike obj = new Honda();
        obj.run();
        obj.changeGear();
    }
}  

N'hésitez pas à commenter si vous avez des doutes ou des suggestions sur ce tutoriel.

Remarque : Cet exemple (Project) est développé dans IntelliJ IDEA 2018.2.6 (Community Edition)
JRE :11.0.1
JVM :VM serveur OpenJDK 64 bits par JetBrains s.r.o
mac OS 10.14.1
Java version 11
Tous les exemples d'abstraction Java sont en Java 11, il peut donc changer selon Java 9 ou 10 ou les versions mises à niveau.


Balise Java