| maison  | Hardware  | réseaux  | programmation  | Logiciel  | Dépannage  | systèmes |  
programmation  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Connaissances Informatiques >> programmation >> Programmation Java >> Content
    Comment catalogué dans Java 6
    Dans la programmation informatique, typecasting signifie prendre un objet d'un type et sa conversion en un objet d'un autre type . En Java 6 , cette habitude, mais pas toujours , implique soit upcasting ou downcasting , ce qui signifie de lancer un objet vers le haut ou vers le bas de la hiérarchie d'héritage. Instructions
    1

    Coller les classes Java suivants dans un fichier texte vide . Il s'agit de la classe qui sera utilisée pour le tutoriel :

    publique Person { }

    malePerson public class de classe étend personne {}
    2

    Collez le upcast suivant : Photos

    personne p = new malePerson ( "Tom" ) ;

    la classe malePerson est une sous-classe de la personne , si ce n'est un casting haut de la hiérarchie . Upcasting est le type le plus simple de la distribution à enlever. Java sait simplement ce qu'il faut faire quand une sous-classe est affecté à l'un de ses ancêtres . Faire une note mentale , cependant : Java se souviendra toujours de ce qu'est un objet vraiment lors d'une upcast . Même maintenant que le malePerson "Tom" a été attribué à un objet générique personne , Java se souvient que cet objet est vraiment un malePerson
    3

    Collez le baissés suivante: .
    < P > personne p = new malePerson ( "Tom" ) ;

    malePerson m = ( malePerson ) p ;

    abaisse des comme ça, qui se déplacent vers le bas de la hiérarchie , exiger que le programmeur de spécifier le type de classe utilisé pour la distribution entre parenthèses. Cependant, downcasting est plus complexe que upcasting
    4

    tentative qui suit baissés :

    Personne p = new Personne ( " Jane ");

    malePerson m = . ( malePerson ) p ;

    Cette tentative échoue, et il ne devrait pas être difficile de voir pourquoi . Alors qu'il est raisonnable de supposer qu'un malePerson est une personne, il n'est pas raisonnable pour l'ordinateur de supposer que toutes les personnes sont MalePersons . Quelques-uns peuvent être FemalePersons , et la différence peut être ou ne pas être trivial pour les fins de l'ordinateur. Juste pour être sûr , le programme génère une erreur .

    Abattu ne peut se produire si un upcast s'est produite premier , ce qui explique pourquoi le upcast à l'étape 3 était valide , mais pas à l'étape 4 . Cela peut rendre son upcasting inutile au premier abord. On peut se poser la question de savoir pourquoi le upcast a été réalisée en premier lieu , mais maintenez cette pensée
    5

    Considérons la méthode suivante: .

    Public void saluer (Personne p) {

    si (p instanceof malePerson ) {

    malePerson m = ( malePerson ) p ;

    m.doMaleThings ();

    } else if (p instanceof femalePerson ) {

    femalePerson f = ( malePerson ) p ;

    f.doFemaleThings ();

    } else throw new GenderConfusionException (); }

    Photos

    l'auteur de cette méthode n'a aucun moyen de savoir à l'avance si cette méthode sera appelée avec un malePerson ou un objet femalePerson , il utilise donc l'objet Person générique. Ensuite, il utilise la commande instanceof pour interroger la personne donnée et voir s'il devrait-il abattu comme un mâle ou une personne de sexe féminin .

    Previous :

    next :
      articles connexes
    ·Struts 1.2 9 Tutorial 
    ·Comment faire pour supprimer plusieurs objets en Java 
    ·Comment construire un jeu Android utilisant Eclipse 
    ·Comment trouver des polynômes chromatiques en Java 
    ·Comment changer le Applet Viewer dans Eclipse 
    ·Comment faire Validations dans Struts 
    ·Comment obtenir les noms de colonne dans une table de b…
    ·Qui est plus utilisé : Java ou Visual Basic 
    ·Comment obtenir un nombre de rotations en Java 
    ·Comment dessiner un chien en Java 
      articles en vedette
    ·Comment trier les colonnes dans DataGrid 
    ·Comment afficher une valeur dans un MATLAB Chaîne 
    ·Installation non -root de modules Python 
    ·Comment vider la mémoire tampon en C + + 
    ·Comment compiler un fichier JAR exécutable 
    ·Comment utiliser Allegro à faire des graphiques en C 
    ·Comment importer XSD Dans WSDL 
    ·Comment faire un carnet d'adresses dans NetBeans 
    ·Comment supprimer une ligne dans DataGridView 
    ·Comment désactiver un clavier Client Server en utilisa…
    Copyright © Connaissances Informatiques http://fr.wingwit.com