Java >> Tutoriel Java >  >> Tag >> class

Classes abstraites en Java avec exemple

Utilisation de la classe abstraite

En programmation, certaines conditions se produisent dans lesquelles l'utilisateur souhaite définir une super classe qui déclare la structure de l'abstraction donnée sans fournir l'implémentation de la méthode. Dans ce cas, le rôle de la classe abstraite vient. En utilisant cette classe, on peut créer une super classe qui ne définit qu'une forme généralisée qui sera partagée par l'ensemble de sa sous-classe, laissant à chaque sous-classe le soin de remplir son détail.

Selon le dictionnaire, l'abstraction est la qualité de traiter des idées plutôt que des événements.

De même, dans la programmation orientée objet, l'abstraction consiste à cacher l'implémentation de toute fonction à l'utilisateur. Seules les caractéristiques principales des fonctions sont fournies à l'utilisateur. En d'autres termes, l'utilisateur sait "ce que fait l'objet" mais ne sait pas "comment il fonctionne".

Comment implémenter la classe Abstract ?

Une classe abstraite est déclaré à l'aide du mot-clé abstrait. Ces classes ne peuvent pas être instanciées, mais elles peuvent être étendues en sous-classes ou classes dérivées.

Une classe abstraite ne peut pas être directement instancié à l'aide de l'opérateur new, car une classe abstraite n'est pas définie.

Cours abstraits sont les classes qui contiennent au moins une méthode abstraite. Cela signifie que si une classe contient une fonction abstraite, elle doit être déclarée en tant que classe abstraite. C'est-à-dire qu'une classe abstraite peut contenir à la fois des méthodes abstraites et non abstraites.

Propriétés de la classe Abstract

  1. Cours abstrait contient des méthodes abstraites.
  2. Cours abstrait ne peut pas être instancié.
  3. Cours abstrait peut contenir un mélange de méthodes abstraites et non abstraites.
  4. Pour utiliser une classe abstraite, il faut en hériter d'une autre classe.
  5. Si le programme contient une méthode abstraite, il doit implémenter toutes les méthodes abstraites de la classe abstraite.
Publicité

Considérez le programme :

import java.util.*;
abstract class Vehical
{
	abstract void get();
	abstract void show();
}

class Car extends Vehical
{
	Scanner sc=new Scanner(System.in);
	private long cost;
	private String name;

	void get()
	{
		System.out.print("Enter the name of car : ");
		name=sc.nextLine();
		System.out.print("Enter the cost of car : ");
		cost=sc.nextLong();
	}

	void show()
	{
		System.out.println("Name of car is : "+name);
		System.out.println("Cost vo car is : "+cost);
	}
}

class Bike extends Vehical
{
	Scanner sc=new Scanner(System.in);
	private long cost;
	private String name;

	void get()
	{
		System.out.print("Enter the name of Bike : ");
		name=sc.nextLine();
		System.out.print("Enter the cost of Bike : ");
		cost=sc.nextLong();
	}

	void show()
	{
		System.out.println("Name of bike is : "+name);
		System.out.println("Cost of bike is : "+cost);
	}

}

class ExAbstract
{
	public static void main(String arg[])
	{
		Vehical V;
		Car C=new Car();
		V=C;
		V.get();
		V.show();
		Bike B=new Bike();
		V=B;
		V.get();
		V.show();

	}
}

Sortie

First Run:
Enter the name of car : Swift
Enter the cost of car : 500000
Name of car is : Swift
Cost vo car is : 500000
Enter the name of Bike : Pulser
Enter the cost of Bike : 75000
Name of bike is : Pulser
Cost of bike is : 75000


Second Run:
Enter the name of car : Hondacity
Enter the cost of car : 1000000
Name of car is : Hondacity
Cost vo car is : 1000000
Enter the name of Bike : Starcity
Enter the cost of Bike : 65000
Name of bike is : Starcity
Cost of bike is : 65000

Balise Java