Sunteți pe pagina 1din 4

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
ν de tip : public class NumeClasa { ... }
(acces permis si claselor din afara propriului
pachet)
ν de acces : abstract class NumeClasa { ... }
(creare de clase [ablon - supraclase pentru
alte clase)
Ex:

Variabile folosite de clase


ν variabile de instan]\ : specifice fiec\rei instan]e
ν 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:”);
}
}