Video: Awesome iPhone Apps with Objective-C by Zack Chauvin 2025
Noen ganger vil du gi Java-objektet mer å gjøre i Android-appen din. Tenk på dette: Du har en skriver, og du prøver å installere den på datamaskinen. Det er en dyktig skriver, men den kom ikke med datamaskinen, så datamaskinen trenger et program for stasjon skriveren: en skriver driver. Uten en sjåfør er din nye skriver bare en gigantisk papirvekt.
Men noen ganger kan det være en smerte i nakken å finne en enhetsdriver. Kanskje du ikke finner disken som fulgte med skriveren.
Tenk deg at du har en off-brand skriver som driveren er innebygd i permanent minne. Når du kobler skriveren til en USB-port, viser datamaskinen en ny lagringsplass. (Plasseringen ser til vanlige brukere, som en annen av datamaskinens disker.) Driverne for skriveren lagres direkte på skriverens interne minne. Det er som om skriveren vet hvordan man kjører seg selv!
La oss si at du vil vise egenskapene til en bestemt veske, og du liker ikke å håndtere en veske med nitty-gritty detaljer. Spesielt liker du ikke å bekymre deg om kommaer, tomme mellomrom og feltnavn når du viser en pose:
pose. snill + "," + pose. vekt + "," +
pose. daysAged + "," + bag. erDomestic + " n"
Du vil helst få
BagOfCheese
klassen å finne ut hvordan du viser en av sine egne objekter.
Her er planen: Flytt den store strengen med posens felter, kommaene og mellomromene fra klassen
MainActivity
til klassen
BagOfCheese
. Det vil si at hver
BagOfCheese
objektet er ansvarlig for å beskrive seg selv i
String
form. Du kan gi hver poses form en egen Display-knapp.
Den interessante egenskapen til en Display-knapp er at når du trykker på den, ser teksten du ser på, av esken du undersøker. Mer nøyaktig, teksten du ser, avhenger av verdiene i feltene i det aktuelle skjemaet.
Det samme skjer i det andre settet med kode nedenfor når du ringer
bag1. toString ()
. Java kjører metoden
toString
som viser det første settet med kode. Verdiene som brukes i denne metoden kalles
type
,
vekt
,
daysAged
og
isDemestic
- er verdiene i
bag1
objektets felter. Tilsvarende verdiene som brukes når du ringer
bag2. toString ()
er verdiene i feltene
bag2
-objektet.
pakke com. allmycode. a09_10;
offentlig klasse BagOfCheese {
public String kind;
offentlig dobbeltvekt;
offentlige int dager
offentlig booleansk erDomestic;
offentlig BagOfCheese () {
}
offentlig BagOfCheese (String type, dobbeltvekt,
int daysAged, boolean isDomestic) {
dette.snill = snill;
dette. vekt = vekt;
dette. daysAged = daysAged;
dette. erDomestic = isDomestic;
}
offentlig String toString () {
returtype + "," + vekt + "," + daysAged + "," + isDomestic + " n";
}
}
Nå, la oss ta en titt på å ha en pose skjerm selv.
pakke com. allmycode. a09_11;
importer android. Brukerstøtte. v7. app. AppCompatActivity;
importer android. os. Bunt;
importer android. widget. TextView;
import com. allmycode. a09_10. BagOfCheese;
offentlig klasse MainActivity utvider AppCompatActivity {
TextView textView;
@Override
beskyttet tomrommet påCreate (Bundle savedInstanceState) {
super. onCreate (savedInstanceState);
setContentView (R. Layout. Activity_main);
textView = (TextView) findViewById (R. Id. TextView);
BagOfCheese bag1 = ny BagOfCheese ("Cheddar", 2. 43, 30, true);
BagOfCheese bag2 = ny BagOfCheese ("Blue", 5. 987, 90, false);
textView. setText ("");
textView. legg til (bag1. toString ());
textView. legge til (bag2. toString ());
}
}
I det første settet av kode har objektet
BagOfCheese
sin egen parameterfri
toString
metode. Og i det andre settet gjør følgende to linjer to anrop til metoden
toString
- en samtale for
bag1
og et annet kall for
bag2
:
textView. legg til (bag1. toString ());
textView. legge til (bag2. toString ());
Et anrop til
toString
oppfører seg annerledes avhengig av den spesielle posen som vises. Når du ringer
bag1. toString ()
, ser du feltverdiene for
bag1
, og når du ringer
bag2. toString ()
, ser du feltverdiene for
bag2
.
For å ringe en av metodens metoder, følg en referanse til objektet med en prikk og deretter metodens navn.
