Warning Nu esti autentificat. Te rog autentifica-te sau inregistreaza-te pentru a avea acces la toate facilitatile forumului.
SkullBox  
Decembrie 04, 2008, 02:22:50 am
Bine ai venit, Vizitator. Trebuie să te autentifici sau să îţi creezi un cont.
Ai pierdut sau nu ai primit emailul care conţine codul de activare al contului?

Autentifică-te cu numele de utilizator, parola şi precizează durata sesiunii.
Noutăţi: Mondenitati
 
 SkullBoxDirector webTutoriale  Pagina principală   Ajutor Caută Autentificare Creează un cont  
Pagini: [1]
  Imprimă  
Subiect: Schimba valoarea variabilei ?  (Citit de 883 ori)
0Utilizatori şi 1 Vizitatori
!_30
*
Deconectat Deconectat

Gen: Bărbat
Mesaje: 587



WWW
Schimba valoarea variabilei ?, Decembrie 23, 2006, 08:20:54 pm

Salut !

another OOP - Java question  
Am si eu o intrebare ( s'ar putea sa fie banala ),dar insa imi incerc norocul la voi.

Am sa dau un exemplu, simplu , pentru a va putea da seama , ceea ce doresc sa reusesc .
Practic , eu incerc sa schimb valoarea unei variabile dintr'o clasa , aflandu'ma intr'o alta clasa.

Am ceva de genu :

Cod:


class clasa1 {
<..bla .. >
- aici vreau sa scad cu unu valoarea variabilei pv din clasa 2 }
class clasa2 {
<..bla ..>
int pv=2;
}


-cum reusesc sa scad cu unu , ( sau hai sa zicem sa modific ) valoarea variabilei pv , din clasa 2 , in clasa 1 ( sa fac aceasta modificare ). :lol:

Am incercat eu sa fac o functie care returneaza variabila , dar nu functioneaza . Eu practic am nevoie in clasa 1 de adresa variabilei din clasa 2 pentru a modica valoarea variabilei . :shock:
Memorat

We live in a very special time in the evolution of the universe: the time at which we can observationally verify that we live in a very special time in the evolution of the universe!" (John Timmer)
Fără Sens|Nebunie| Yahoo & hi5 checker
3Nigma
*
Deconectat Deconectat

Gen: Bărbat
Mesaje: 970


SkullBox Guardian


WWW
Schimba valoarea variabilei ?, Decembrie 23, 2006, 08:52:55 pm

Ok...cateva intrebari.... ce rost are sa declari o clasa in interiorul unei clase?Nu ii inteleg rostul....
De ce nu o declari intr-o biblioteca de clase?Cu alte cuvinte...de ce ai declarat clasa in clasa?

Nu stiu exact..dar in functie de ce-mi spui la intrebarea de mai sus... mostenirea ar fi raspunsul...sau declararea campului "pv" ca static si apelandu-l din cls direct[fara instantiere]... sau ar mai fii o metoda cu functii si delegatii..anyway...astept clarificari...
Memorat


Search for knowledge in the darkest places and in the blackest hours! You might get lucky and find more than you are looking for...
!_30
*
Deconectat Deconectat

Gen: Bărbat
Mesaje: 587



WWW
Schimba valoarea variabilei ?, Decembrie 23, 2006, 09:10:38 pm

Da , am sa fac cateva clarificari , ca paremi'se ca ai inteles gresit ( din greseala mea  , de cod ).

Nu am declarat o clasa , in interiorul altei clase . Daca era asa , era simplu , dar nu este ( oricum , nu asta am vrut eu sa fac ) .

Practic eu am doua clase : clasa1 si clasa2;

Cod:


class clasa1 { -> deschidem clasa
 
< variabilele , constructori , metode >
< .. aici doresc sa modific valoarea lui pv >
} -> inchidem clasa1



si

Cod:


class clasa2 { -> deschidem clasa

< variablele , constructori , metode >
static int pv;
pv=2;
} -> inchidem clasa2


Ce am vrut eu sa fac ? Din clasa1 sa modific valoarea variabilei pv din clasa2 .
Nu am declarat clase imbricare sau altceva , am decat doua clase simple , care aparent nu au treaba una cu alta ( asta vroiam sa exemplific ).
Daca erau clasa in clasa , oricum clasa imbricata , mosteneste totul de la clasa de acoperire ( si variabilele declarate private ) sau apel direct , deci nu era problema asta.

Sper ca m'ai inteles , ce incerc eu sa fac.

EDIT : am reusit sa rezolv problema ( dupa cum spuneam era ceva destul de simplu ).

- am declarat variabila de care aveam nevoie sa o modific din alte clase ( statica si publica ) si o modific din clasa1 cu clasa2.pv ( pv fiind in clasa 2 ). Un exemplu ( daca se intampla sa mai casa si altcineva in aceeasi plasa ca si mine ) :

- clasa 1

Cod:


class clasa1 {

//.. declaratii bla bla ..
//- aici modificam variabila pv , care se gaseste in clasa2 in felul urmator :
clasa2.pv = clasa2.pv-1; // am scazut cu 1 VALOARE variabilei pv din clasa2
}



- clasa 2

Cod:


class clasa2 {
// .. declaratii ..etc..
// aici avem declarata variabila pv : static + public ( pentru a ii putea fi modificata valoarea din alte clase ).

public static int pv = 10;
}



Sper ca nu am consumat timpul nimanui. :lol:
Memorat

We live in a very special time in the evolution of the universe: the time at which we can observationally verify that we live in a very special time in the evolution of the universe!" (John Timmer)
Fără Sens|Nebunie| Yahoo & hi5 checker
3Nigma
*
Deconectat Deconectat

Gen: Bărbat
Mesaje: 970


SkullBox Guardian


WWW
Schimba valoarea variabilei ?, Decembrie 23, 2006, 09:38:41 pm

Ok ... am inteles... te-am intrebat ca am vazut prost la inceput[am crezt ca-s clase in clase,m-am inselat amarnic Smile].
Nu-s frumoase Obiectele? Mai ales mostenirea?
Anyway... daca lucrezi cu variabila "statice" nu intra in discutie instantierea clasei[deaorece se stie legatura dintre static si instantele clasei=NULL] deci... daca te referi la modificarea unui camp "static" din exemplu pe care mi l-ai dat tu in clasa2 observa ca ai declarat:
Cod:
static int pv;

Iar merg pe ghicite[nu stiu java ce-i drept] dar stiu c# si in c# toate campurile/proprietatile/functiile etc care nu-s declarate cu declarator de acces [exemplu private,public,protected,sealed,etc] sunt declarate implicit private. Ceea ce inseamna ca desi ai declarat un camp private necunoscut decat pentru interiorul clasei respective.
incearca:
Cod:
public static int pv;

si spune-mi ce/daca ai rezolvat ceva.... campul il accesezi normal ca si orice variabila statica : .pv Smile in cazul nostru :
Cod:
clasa2.pv ...


Daca te referi la modificarea de valori din instante de clase[copii de clase] acolo banuiesc ca nu e problema...dar daca da... zi-mi si iti explic....

[EDIT] Lol Smile Nu ai mancat nimic... I like helping Smile
Memorat


Search for knowledge in the darkest places and in the blackest hours! You might get lucky and find more than you are looking for...
tot_zeu
*
Deconectat Deconectat

Mesaje: 152


Schimba valoarea variabilei ?, Mai 18, 2007, 06:43:44 pm

Acum an analizat  cu atentie codul tau...si am observat rezolvare simplista era..tot ce trebuia era declararea variabilei ca "publica" ..
Pt cei care lucreaza cu functii puteti folosi si pointeri (in C++ *) care memoreaza adresa unei variabile..pt a putea fi prelucrata de alte functii
Memorat
SkullAds
Ecspert
ReclAmator
* * * * *
Google AdSense

Gen: Bărbat
Mesaje: Multe

Reclama AdSense,
 

 
   


Pagini: [1]
  Imprimă  
 
Schimbă forumul:  

Creat cu MySQL Creat cu PHP Ethical hacking and programming community Director web romanesc cu inscriere gratuita Validat cu XHTML 1.0! Validat cu CSS!
IPFind, FAQDB, LAMP.ro, Good Proxy, Aberez.EU, RoFreeSBIE, ShockingSoft.com, HostVision, Invatam.net, PC Troubleshooting, Curs valutar online
Powered by SMF 1.1.7 | SMF © 2006-2008, Simple Machines LLC
Traducerea în limba română © 2006-2007 www.smf.ro