Sunteți pe pagina 1din 3

CLASE

Clase pentru aplica]ii


Execu]ia programului unei aplica]ii începe prin apelul metodei main() din
clasa primar\.

Clase pentru miniaplica]ii

Miniaplica]iile constituie extensii ale unei clase deja existente


java.applet.Applet.
Structura clasei unui applet se bazeaz\ pe urm\toarele metode :
init()
start()
stop()
paint()

init()
· apelat\ numai atunci când applet-ul este înc\rcat pentru prima dat\ într-un
program de vizualizare
· folosit\ pentru ini]ializ\ri [i prelucrarea elementelor din linia de comand\
· are format fix public void init() { ... }
· declararea sa nu este necesar\, dac\ se face se redefine[te metoda init()
din clasa java.applet.Applet
start()
· apelat\ dup\ metoda init() atunci când miniap. este înc\rcat\ pentru
prima dat\ sau când execu]ia ei a fost suspendat\ [i trebuie reluat\
· are format fix public void start() { ... }
· declararea sa nu este necesar\, dac\ se face se redefine[te metoda start()
din clasa java.applet.Applet

stop()
· apelat\ de fiecare dat\ când o miniap. trebuie oprit\ sau supendat\
· are format fix public void stop() { ... }
· declararea sa nu este necesar\, dac\ se face se redefine[te metoda stop()
din clasa java.applet.Applet
paint()
· folosit\ pentru desenarea sau redesenarea ecranului
· este apelat\ automat de metoda repaint(), dar poate fi apelat\ [i explicit
· are format fix public void paint(Graphics g) { ... }
· declararea sa, de[i nu este cerut\ de compilator, este necesar\ deoarece
aici se fac afi[\rile pe ecran (redefine[te metoda paint() din clasa
java.applet.Applet)

Exemplu de applet care folose[te toate cele 4 metode :


import java.awt.Graphics;
public class Counter extends java.applet.Applet {
int counter;
boolean run;

public void init() {


counter = 0;
}

public void start() {


run = true ;
while (run == true) {
counter ++ ;
repaint();
try { Thread.sleep(1000); }
//face o pauza de o secunda
catch(InterruptedException e) {}
}
}

public void stop() {


run = false;
}

public void paint( Graphics g ) {


g.drawString("counter = " + counter, 10, 10);
}
}

Modificatori
n de tip : public class NumeClasa { ... }
(acces permis si claselor din afara propriului pachet)
n de acces : abstract class NumeClasa { ... }
(creare de clase [ablon - supraclase pentru alte clase)
Ex:
Variabile folosite de clase
n variabile de instan]\ : specifice fiec\rei instan]e
n variabile de clas\ : declarate statice, au aceea[i valoare pt. toate
instan]ele

Instan]e predefinite :
null,
this - desemnarea explicit\ a instan]ei curente a unei variabile
super - este o referin]\ la superclasa clasei curente

Ex:
class Animal {
static String nume = null;

public void main( String args[]) {


Animal a = new Animal();
if (a.nume == null)
introNume(“Introduceti un nume:”)
}
}

void introNume ( String prompt ) {


StringBuffer nume;
char ch = ‘\0’;
nume = new StringBuffer();
System.out.println( prompt );
System.out.flush();
while (ch != ‘\n’) {
try { ch = (char) System.in.read(); }
catch (IOException e) {};
nume.append( ch );
}
this.nume = nume.toString();
}

class Pisica extends Animal {


void introNumePisica {
super.introNume(‘Introduceti numele pisicii:”);
}
}