Java - clase



CLASE

 

Clase pentru aplica]ii

Execu]ia programului unei aplica]ii incepe 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() 26274dmb62qpu5v

stop()

paint()

init()

  • apelat\ numai atunci cand applet-ul este inc\rcat pentru prima dat\ intr-un program de vizualizare mp274d6262qppu



  • 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 cand miniap. este inc\rcat\ pentru prima dat\ sau cand 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\ cand 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:”);

}

}