? I Java , refererer casting til loven å behandle en gjenstand eller metode for en viss klasse som et objekt av en forelder eller barn klasse . Dette oppnås fordi Java implementerer polymorfisme , eller muligheten av en variabel har forskjellige men lignende gjenstander som er assosiert med den. Avstøpning kan kreve en spesiell operatør. Objekt- orientering og arv
Java er et objektorientert programmeringsspråk, noe som betyr at alle operasjoner er definert av objekter og klasser . For en operasjon for å lykkes på et objekt , må det være relatert til at objekt eller en bestemt klasse . Noen klasser utvide funksjonaliteten til andre klasser , men beholde de grunnleggende funksjonene i den første klassen , som er kjent som arv . Base klassen kalles forelder eller super klasse , og utvide klassen er kjent som barnet klassen .
Upcasting
Upcasting tildeler et underordnet objekt en variabel av overordnede objektet . Dette gjør det mulig for barnet objektet som skal plasseres i en datainnsamling med søsken objekter , så lenge datainnsamlingen tar den overordnede klassen som operatør. Så , hvis det variable kaller en metode definert av den overordnede klassen , vil metoden bli henrettet , den overordnede metoden eller barnet metoden, dersom barnet har overstyrt den overordnede metoden
Eksempel : .
< P > Shape sh = new Circle ();
sh.draw (); . //hvis tegne ( ) er definert av Circle, vil dette utføre Circle metoden heller enn figurens
Downcasting
Downcasting tvinger en variabel av en forelder objekt å bli behandlet som et barn objekt. Til nedslått en variabel , plasserer klassen du ønsker å kaste til i parentes før variabelen å kaste.
Upcasting et objekt krever en nedslått hvis du fortsatt ønsker å bruke et barn metode eller variabel tross for upcast . For eksempel : en
Object o = new String ( "Hello "); //upcast
//String s1 = o.substring (); //ikke vil kompilere
< p > String s2 = ( ( String ) o ) delstrengen (); . //vil kompilere og kjøre
Eksempler
Java GUI Swing programmering, ethvert objekt skal samhandle med brukeren må ha en ActionListener knyttet til den. Den ActionListener er et grensesnitt med én metode , actionPerformed ( ) . En programmerer må implementere grensesnittet i en egendefinert klasse , og finne ut hva slags tiltak som vil bli gjennomført når actionPerformed ( ) kalles . Uavhengig av hvordan metoden er implementert, kan en bruker legge lytteren til en forhåndsdefinert GUI objekt bare ved hjelp av metoden addActionListener ( ), som tar alle barn av ActionListener som en parameter .