Vidéo: The RuneScape Documentary - 15 Years of Adventure 2024
Parfois, vous voulez donner à votre objet Java plus à faire dans votre application Android. Considérez ceci: Vous avez une imprimante et vous essayez de l'installer sur votre ordinateur. C'est une imprimante capable, mais elle n'est pas fournie avec votre ordinateur. Votre ordinateur a donc besoin d'un programme pour piloter l'imprimante: une imprimante. Sans pilote, votre nouvelle imprimante n'est rien d'autre qu'un presse-papier géant.
Mais, parfois, trouver un pilote de périphérique peut être une douleur dans le cou. Peut-être que vous ne pouvez pas trouver le disque fourni avec l'imprimante.
Imaginez que vous ayez une imprimante hors marque dont le pilote est intégré dans sa mémoire permanente. Lorsque vous branchez l'imprimante sur un port USB, l'ordinateur affiche un nouvel emplacement de stockage. (L'emplacement ressemble, pour les utilisateurs ordinaires, à un autre des disques de l'ordinateur.) Les pilotes de l'imprimante sont stockés directement dans la mémoire interne de l'imprimante. C'est comme si l'imprimeur savait comment conduire lui-même!
Imaginons que vous souhaitiez afficher les propriétés d'un sac en particulier et que vous n'aimiez pas traiter les détails d'un sac. En particulier, vous n'aimez pas vous soucier des virgules, des espaces et des noms de champs lorsque vous affichez un sac:
sac. genre + "," + sac. poids + "," +
sac. daysAged + "," + sac. isDomestic + " n"
Vous préférez que la classe
BagOfCheese
explique comment afficher un de ses propres objets.
Voici le plan: Déplacez la grosse chaîne avec les champs du sac, les virgules et les espaces de la classe
MainActivity
vers la classe
BagOfCheese
. C'est-à-dire que chaque objet
BagOfCheese
soit responsable de se décrire lui-même dans le formulaire
String
. Vous pourriez faire donner à chaque forme de son propre bouton d'affichage.
La caractéristique intéressante d'un bouton d'affichage est que lorsque vous appuyez dessus, le texte que vous voyez dépend du sac de fromage que vous examinez. Plus précisément, le texte que vous voyez dépend des valeurs dans les champs de ce formulaire particulier.
La même chose se produit dans le deuxième jeu de code ci-dessous lorsque vous appelez
bag1. toString ()
. Java exécute la méthode
toString
illustrant le premier ensemble de code. Les valeurs utilisées dans cet appel de méthode -
kind
,
weight
,
daysAged
, et
isDomestic
- sont les valeurs dans le
sac1
les champs de l'objet. De même, les valeurs utilisées lorsque vous appelez
bag2. toString ()
sont les valeurs des champs de l'objet
bag2
.
package com. allmycode. a09_10;
public class BagOfCheese {
public Chaîne type;
double poids public;
public int daysAged;
public boolean isDomestic;
public BagOfCheese () {
}
public BagOfCheese (type de chaîne, poids double,
int daysAged, boolean isDomestic) {
this.genre = genre;
ceci. poids = poids;
ceci. daysAged = daysAged;
ceci. isDomestic = isDomestic;
}
public Chaîne toString () {
type de retour + "," + weight + "," + daysAged + "," + isDomestic + " n";
}
}
Jetons un coup d'oeil à l'affichage d'un sac.
package com. allmycode. a09_11;
importer Android. soutien. v7. app. AppCompatActivity;
importer Android. os. Paquet;
importer Android. widget. Affichage;
import com. allmycode. a09_10. BagOfCheese;
public class MainActivity étend AppCompatActivity {
TextView textView;
@Override
void protégé onCreate (Bundle savedInstanceState) {
super. onCreate (savedInstanceState);
setContentView (disposition R., activité_main);
textView = (TextView) findViewById (id de R. textView);
BagOfCheese bag1 = nouveau BagOfCheese ("Cheddar", 2. 43, 30, true);
BagOfCheese bag2 = nouveau BagOfCheese ("Bleu", 5. 987, 90, faux);
textView. Définir le texte("");
textView. append (bag1 à toString ());
textView. append (bag2 à toString ());
}
}
Dans le premier ensemble de code, l'objet
BagOfCheese
possède sa propre méthode
toString
sans paramètre. Et dans le second ensemble, les deux lignes suivantes font deux appels à la méthode
toString
- un appel pour
bag1
et un autre appel pour
bag2
:
textView. append (bag1 à toString ());
textView. append (bag2 à toString ());
Un appel à
toString
se comporte différemment selon le sac particulier affiché. Lorsque vous appelez
bag1. toString ()
, vous voyez les valeurs de champ pour
bag1
, et quand vous appelez
bag2. toString ()
, vous voyez les valeurs de champ pour
bag2
.
Pour appeler l'une des méthodes d'un objet, suivez une référence à l'objet avec un point, puis le nom de la méthode.