 |
| Autor |
Mesaj |
Admin
Administrator

Data inscrierii: 07/Dec/2013
Mesaje: 1103
|
Clase pentru aplicaţii
Execuţia programului unei aplicaţii începe prin apelul metodei main() din clasa primară.
• Dacă nu se află metoda main compilatorul afişează o eroare.
• Metodele main trebuie declarate publice
• public static void main (String args[]) { ... }
• Permite apelul cu parametri de la linia de comanda :
public class A {
public static void main (String args[]) {
System.out.println(args[0]);
}
} |
|
|
|
|
 |
Admin
Administrator

Data inscrierii: 07/Dec/2013
Mesaje: 1103
|
Clase pentru miniaplicatii
Miniaplicatiile reprezintă extensii ale unei clase deja existente java.applet.Applet.
Structura clasei unui applet se bazeaza pe urmatoarele metode :
init()
start()
stop()
paint()
init()
• apelata numai atunci cand applet-ul este incarcat pentru întâia data intr-un program de vizualizare
• folosita pentru initializari si prelucrarea elementelor din linia de comanda
• are compus fix public void init() { ... }
• declararea sa nu este necesara, daca se face se redefineste metoda init() din clasa java.applet.Applet
start()
• apelata dupa metoda init() atunci cand miniap. este incarcata pentru prima data sau cand executia ei a fost suspendata si trebuie reluata
• are format fix public void start() { ... }
• declararea sa nu este necesara, daca se face se redefineste metoda start() din clasa java.applet.Applet
stop()
• apelata de fiecare data cand o miniap. trebuie oprita sau supendata
• are format fix public void stop() { ... }
• declararea sa nu este necesara, daca se face se redefineste metoda stop() din clasa java.applet.Applet
paint()
• folosita pentru desenarea sau redesenarea ecranului
• este apelata automat de metoda repaint(), dar poate fi apelata si explicit
• are format fix public void paint(Graphics g) { ... }
• declararea sa, desi nu este ceruta de compilator, este necesara deoarece aici se fac afisarile pe ecran (redefineste metoda paint() din clasa java.applet.Applet)
Exemplu de applet care foloseste 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)
(orice alt modificator genereaza o eroare de compilare)
de acces : abstract class NumeClasa { ... }
(creare de clase sablon - supraclase pentru alte clase)
Ex:
Variabile utilizate de clase
variabile de instanta : specifice fiecarei instante
variabile de clasa : declarate statice, au aceeasi valoare pt. toate instantele
Instante predefinite :
null,
this - desemnarea explicita a instantei curente a unei variabile
super - este o referinta la superclasa clasei curente
Ex:
class Animal {
static String nume = null;
public void main( String argsst) {
Animal a = new Animal();
if (a.nume == null)
introNume(“Introduceti un nume:”)
}
}
void introNume ( String prompt ) {
StringBuffer nume;
char ch = ‘a0’;
nume = new StringBuffer();
System.out.println( prompt );
System.out.flush();
while (ch != ‘an’) {
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:”);
}
}
Modificatorii metodelor
Declararea securitatii si accesibilitatii metodelor:
static
• asociat numai metodelor si variabilelor, nu si claselor
• precizeaza ca o metoda poate fi declarata o singura data (nu poate fi redefinita intr-o subclasa)
final - precizeaza ca un obiect este stabilit si nu mai poate fi schimbat
• la nivelul clasei : nu mai poate avea subclase
final class A {...}
eroare!class B extends class A {...}
• la nivelul metodei : nu mai poate fi modificata
class A {
variabilafinal varFinala = 100 ; ramane constanta
eroare!void metoda() { varFinala = 200; }
}
• la nivelul var : este declarata constanta
class A {
final void metoda() {...}
}
class B extends A {
void metoda() {...} eroare!
}
abstract - îngăduie crearea de metode sablon
Supraincarcarea metodelor - overloading
class A {
void metoda(int x) {...}
}
class B extends A {
void metoda(string s) { ... }
}
Folosirea obiectelor
1. Crearea si distrugerea obiectelor
• spatiul de memorie nu este pre-alocat
• este dezalocat automat (malloc / free)
• exista un echivalent al constructorului
• nu exista un echivalent al destructorului
• exista metoda finalize care poate fi folosita pe post de destructor
2. Crearea unei instante : NEW
String s;
s = new String(10);
n = s.length();
if s.compareTo(“test”) ...
pos = s.indexOf(“test”);
Distrugerea unei instante : public void destroy() { ... }
Metoda constructor
Identica cu cea din C++;
class A {
void A(int arg) { ... }
void A(String s) { ... }
}
Metoda finalize : void finalize()
Este apelata automat in momentul cand se declanseaza operatiunea de colectare a gunoiului.
Mostenirea
class B extends A { ... }
class Figura {
int nrVarfuri;
void introNrVarfuri() {
try {nrVarfuri = System.in.read();}
catch(IOException e) {}
}
}
class Poligon extends Figura { }
Poligon p = new Poligon();
p.introNrVarfuri(); |
|
|
|
|
 |
|
|
|
|
Subiectul urmator
Subiectul anterior
Nu puteti crea un subiect nou in acest forum Nu puteti raspunde in subiectele acestui forum Nu puteti modifica mesajele proprii din acest forum Nu puteti sterge mesajele proprii din acest forum Nu puteti vota in chestionarele din acest forum |
Powered by phpBB
© 2001, 2002 phpBB Group
|
|