Java >> Tutoriel Java >  >> Java

Quelles sont les différences entre abstraction et encapsulation ?

Abstraction en java

1) Abstraction est un concept de programmation orienté objet qui est également introduit en java.

2) Abstraction signifie que nous cachons les détails de l'implémentation interne. (Ou en d'autres termes mettant en évidence l'ensemble des services qu'ils proposent).

Exemple 1 :

INTERFACE UTILISATEUR ATM :
Mettre en évidence l'ensemble des services offerts par les guichets automatiques tels que le retrait d'espèces, la demande de solde et le changement de code PIN, etc. Mais nous ne connaissons pas le codage interne derrière les services (c'est-à-dire la mise en œuvre interne cachée).

Exemple 2 :

CONDUCTEUR :
Il sait comment démarrer la voiture, comment changer de vitesse de la voiture mais il ne connaît pas le processus de démarrage de la voiture et le processus de changement de vitesse de la voiture.

3) Il y a peu d'avantages à l'Abstraction :

  1. Sécurité : La personne extérieure ne connaît pas les détails de mise en œuvre interne par lesquels nous pouvons assurer la sécurité.
  2. Amélioration : Sans affecter la personne extérieure (utilisateur final), nous pouvons modifier nos détails de mise en œuvre internes si nécessaire afin que l'amélioration soit facile.

2) Encapsulation en java

1) Encapsulation est un concept de programmation orienté objet qui est également introduit en java.

2) Rassemblement des données et de leur méthode correspondante en une seule unité (ou en d'autres termes, le processus de liaison des données et de leur méthode correspondante en une seule unité).

Exemple :

class GetAccountDetails{
	private double balance;

	public double getBalance(){
		return balance;
	}
	
	public void setBalance(double bal){
		balance = bal;
	}
}

class AccountDetails{
	public static void main(String[] args){
		GetAccountDetails GAD = new GetAccountDetails();
		GAD.setBalance(10000.000);
		double balance = GAD.getBalance();
		System.out.println(balance);
	}
}

Ici, GetAccountDetails est une unité unique où balance est un membre de données et getBalance() et setBalance sont des méthodes ou des fonctions membres.

3) L'encapsulation présente peu d'avantages sont :

  1. Nous pouvons assurer la sécurité.
  2. L'amélioration sera occupée.
  3. Cela améliore la maintenabilité de l'application.

4) Inconvénient de l'encapsulation ralentit l'exécution en raison de la vérification du niveau de sécurité, ce qui réduit les performances.

En savoir plus :

  • Comparer array et ArrayList en Java.
  • Java - Différence entre float et double.
  • Java - Différence entre lancer et lancer.
  • Java - Différence entre les méthodes next() et nextLine().

Balise Java