Le langage de programmation Java utilise des classes et des objets pour permettre aux programmeurs de travailler avec des données . Comme en C + + , Java permet également aux utilisateurs de définir des classes qui peuvent utiliser plusieurs types de données , afin d'étendre la flexibilité et l'utilité de leurs objets créés . En prenant cette notion d'usage de type de données flexible , appelé «génériques », et en appliquant un élément récursif , les programmeurs peuvent faire en sorte que les utilisateurs d'objets n'emploient que certains types de données de sorte que l'objet générique fonctionne comme prévu , tout en permettant aux utilisateurs d'étendre l' utilisation de cet objet. Classes et types
fonctions Java manière prédominante comme un langage de programmation orienté objet . Cela signifie que les programmeurs utilisent des "classes" pour définir les "types" de données spécifiques . Classes utilisent également d'autres types de données dans leur définition . Dans le code suivant , par exemple, la boîte de classe utilise trois entiers dans le cadre de sa définition : pour la classe de fonctionner pour d'autres programmeurs , ils doivent suivre cette définition en fournissant trois entiers . Cela permet de maintenir l'efficacité de la boîte de classe:
classe Box
{
int length ; int largeur , int hauteur;
Box
public (int l, int w , int h) {//Box doit utiliser la longueur integersint = l; int width = w; int hauteur = h ;}}
génériques Types
Certains programmeurs , cependant, ne pourrait pas Vous aimez cette restriction. Certains pourraient développer des structures de données, par exemple , qui exigent que l'utilisateur de la structure de données soit autorisé à utiliser n'importe quel type de données à l'intérieur de la structure. Dans ce cas , le programmeur peut créer une classe "générique" qui prend un certain type de données. Donc , comme dans l'exemple de code suivant , coffre- classe peut désormais prendre n'importe quel type "T" pour représenter ses côtés. Cela peut être extrêmement utile si l'utilisateur peut vouloir utiliser des nombres entiers ou décimaux pour représenter côtés :
{
longueur de de classe Box
de T; largeur T; hauteur T;
Box publique (T l, T w, T h ) {//Box utilise maintenant la longueur de la teinte de type = l; int width = w; int hauteur = h ;}}
< br > génériques types récursifs
pour compliquer les types génériques , certains programmeurs peuvent jouer avec les règles de ce qui est permis comme un type générique pour une classe. Par exemple, au lieu d'avoir un type de données générale "T ", le programmeur peut créer une classe qui prend du même type que la classe elle sert de type générique d' . L'exemple suivant illustre ceci: Au lieu de type T , la classe utilise le type T générique qui représente une version , ou " hérite " de , coffre- classe:
Box de classe
> {
Box longueur ; Box largeur ; Box hauteur ;
Box public (encadré l, Box w, Box h ) {//Box utilise maintenant type Box int longueur = l; int width = w; int hauteur = h ;}}
Utilité des types récursifs
< p> En pratique, cela semble confus et contre- intuitive. Mais , en réalité , il représente un moyen intuitif pour le créateur de la classe à appliquer certaines utilisations de type. Dans ce cas , l'utilisateur de la classe utilise le type " Box" avec le type générique "T" comme un type générique pour lui-même. Cela signifie essentiellement que l'utilisateur qui crée un objet de type " Box " est obligé d'utiliser le même type (encadré ) comme type générique plutôt que d'un nombre entier , décimal, ou toute autre chose . Ceci permet au programmeur de s'assurer que certain problème se produit lorsque les utilisateurs interagissent avec les classes qu'ils créent.