Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Incalzire in pardoseala etapizata

Suprataxa card energie?!

Cum era nivelul de trai cam din a...

probleme cu ochelarii
 Impozite pe proprietati de anul v...

teava rezistenta panou apa calda

Acces in Curte din Drum National

Sub mobila de bucatarie si sub fr...
 Rezultat RMN

Numar circuite IPAT si prindere t...

Pareri brgimportchina.ro - teapa ...

Lucruri inaintea vremurilor lor
 Discuții despre TVR Sport HD.

Cost abonament clinica privata

Tremura toata, dar nu de la ro...

Renault Android
 

Java - variabila privata din alta clasa...cum o printez?

- - - - -
  • Please log in to reply
5 replies to this topic

#1
pinguinul666

pinguinul666

    Senior Member

  • Grup: Senior Members
  • Posts: 4,689
  • Înscris: 06.10.2015
sal

urmaream un tutorial.

pe scurt, am 2 clase:  cea main, si inca una, secundara.

In main, am un obiect numit "frog1" caruia vreau sa ii dau un nume.

in cea secundara, am o variabila privata numita "name"  (tip String).

Ea e utilizata in cadrul unei metode.


Cum o fac sa fie tiparita pe ecran, in  metoda principala?

voi reda prin citare, tot codul:

clasa principala/metoda principala:

Quote


public class BlueJava_Training
{ /* Start CLASS - do NOT delete!   */
  public static void main(String[] args)  /* -- main METHOD -- */
   { /* Start of MAIN FUNCTION --- do NOT delete! */

    Frog frog1 = new Frog();

  
    frog1.setName("Killer");
    frog1.setAge(3);
  
   System.out.print(frog1.setName());
  
  
   } /* End of MAIN FUNCTION --- do NOT delete! */
} /* End of MAIN CLASS - do NOT delete!   */


Acum voi cita clasa secundara (ea este folosita pentru a crea obiectul frog1 din clasa primara):


Quote

class Frog
   {
  
private String name;

  public void setName(String name)
  {
  this.name = name;
  }

  public void setAge(int age)
  {
  age = this.age;
  }

   }

Cum fac, ca in clasa primara, sa rula ceva gen:

Quote

System.out.print(frog1.setName());
si drept rezultat, sa vad scris pe ecran KILLER   (numele care l-am dat obiectului frog1) ?

#2
mberila

mberila

    Active Member

  • Grup: Members
  • Posts: 1,647
  • Înscris: 20.11.2005
ai nevoie de un getter in clasa Frog.

cauta pe google "encapsulation"

#3
modoran

modoran

    Senior Member

  • Grup: Senior Members
  • Posts: 8,310
  • Înscris: 08.02.2011
Nu cunosc java, dar ar trebui sa mearga ceva de genul acesta:
class Frog
   {
  
private String name;
  public void setName(String name)
  {
  this.name = name;
  }
  public void setAge(int age)
  {
  age = this.age;
  }
public String getName ()
{
return this.name;
}
   }



public class BlueJava_Training
{ /* Start CLASS - do NOT delete!   */
  public static void main(String[] args)  /* -- main METHOD -- */
   { /* Start of MAIN FUNCTION --- do NOT delete! */
	Frog frog1 = new Frog();
  
	frog1.setName("Killer");
	frog1.setAge(3);
  
   System.out.print(frog1.getName());
 
 
   } /* End of MAIN FUNCTION --- do NOT delete! */
} /* End of MAIN CLASS - do NOT delete!   */



#4
pinguinul666

pinguinul666

    Senior Member

  • Grup: Senior Members
  • Posts: 4,689
  • Înscris: 06.10.2015

View Postmberila, on 24 ianuarie 2019 - 00:06, said:

ai nevoie de un getter in clasa Frog.

cauta pe google "encapsulation"

da, stiu ce e un getter...

adica daca in clasa secunda era ceva gen

Quote

public  get Name()
  {
return name;
  }


#5
mberila

mberila

    Active Member

  • Grup: Members
  • Posts: 1,647
  • Înscris: 20.11.2005
da.
si vezi, ca setAge, asa cum e scris acum, nu face ceea ce ar trebuii sa faca

#6
afh

afh

    Active Member

  • Grup: Members
  • Posts: 1,835
  • Înscris: 14.04.2005
pentru print, poţi să bagi un override la toString()

//overriding the toString() method
public String toString(){
  return name;
}

System.out.print(frog1);

Anunturi

Chirurgia cranio-cerebrală minim invazivă Chirurgia cranio-cerebrală minim invazivă

Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne.

Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate