PDA

View Full Version : کلاس ,متغییر



arianaboy
چهارشنبه 15 خرداد 1392, 00:15 صبح
سلام ما تو یه کلاس دو تا متغیر داریم که مقدارشون مدام در حاله تغییره.
حالا اگه بخوایم از این متغییر در یه کلاس دیگه استفاده کنیم باید چی کنیم؟

miladheydari
چهارشنبه 15 خرداد 1392, 00:32 صبح
سلام ببین من زیاد به جاوا تسلط ندارم ولی فک کنم باید متغیر خارج از کلاس تعریف کنی ما تو c++ این کارو میکردیم

arianaboy
چهارشنبه 15 خرداد 1392, 00:37 صبح
سلام ببین من زیاد به جاوا تسلط ندارم ولی فک کنم باید متغیر خارج از کلاس تعریف کنی ما تو c++ این کارو میکردیم
اصلا تو جاوا اجازه همچین کاری نداریم.

miladheydari
چهارشنبه 15 خرداد 1392, 00:44 صبح
تو جاوا میشه متغیر فراخوانی کرد؟؟

صباح فتحی
چهارشنبه 15 خرداد 1392, 01:11 صبح
سلام میتونی استاتیک تعریف کنی .
یا واسه متغیرر پراپرتی بنویسی

javaphantom
چهارشنبه 15 خرداد 1392, 09:47 صبح
سلام ما تو یه کلاس دو تا متغیر داریم که مقدارشون مدام در حاله تغییره.
حالا اگه بخوایم از این متغییر در یه کلاس دیگه استفاده کنیم باید چی کنیم؟

می خواهی کلاس دیگه متوجه بشه که مقدار متغیرهات تغییر کرده یا نه فرقی نمی کنه هر موقع صداش کرد آخرین مقدار رو بهت نشون بده.؟

یک getter setter ساده تو کلاس برای متغییرهات بنویس هر موقع خواستی اخرین مقدار رو ببینی متدود getter متغییر از اون کلاس رو صدا بزن

arianaboy
چهارشنبه 15 خرداد 1392, 09:53 صبح
می خواهی کلاس دیگه متوجه بشه که مقدار متغیرهات تغییر کرده یا نه فرقی نمی کنه هر موقع صداش کرد آخرین مقدار رو بهت نشون بده.؟

یک getter setter ساده تو کلاس برای متغییرهات بنویس هر موقع خواستی اخرین مقدار رو ببینی متدود getter متغییر از اون کلاس رو صدا بزن
دقیقا من هم همین کار رو میکنم اما خطای هنگام اجرا میده.
ببینید این کده منه public void setxtank(){
xtank=x;
}
public void srtytank(){
ytank=y;
}
public int getxtank(){
return xtank;
}
public int getytank(){
return ytank;
}

حالا فرض کنید میخوام همینطور این مقادیر در یک کلاس دیگه چاپ بشه.
while(true){
System.out.println(tank.getxtank()+" fff"+tank.getytank());
try {
Thread.sleep(5);
} catch (InterruptedException ex) {
Logger.getLogger(EnamyTank.class.getName()).log(Le vel.SEVERE, null, ex);
}

اما در حین چاپ یا فقط همون مقدار اولیه هی چاپ میشه و یا خطای هنگام اجرا میده.

javaphantom
چهارشنبه 15 خرداد 1392, 15:54 عصر
پس نتیجه این که دو تا کلاس داری یکی A و دیگری B حالا تو کلاس A متغییر داری که می خوای تو کلاس B استفاده کنی. حالا داستان اینکه آیا تو کلاس B از کلاس A که داخلش متغییر ها هستند new کردی یا نه؟

کل کد رو بزار ببینم که چی کار کردی.

spiderman200700
چهارشنبه 15 خرداد 1392, 20:23 عصر
دقیقا من هم همین کار رو میکنم اما خطای هنگام اجرا میده.
ببینید این کده منه public void setxtank(){
xtank=x;
}
public void srtytank(){
ytank=y;
}
public int getxtank(){
return xtank;
}
public int getytank(){
return ytank;
}


اما در حین چاپ یا فقط همون مقدار اولیه هی چاپ میشه و یا خطای هنگام اجرا میده.

کدت اشتباهه.
یه چیزی تو این مایه ها باید باشه:

public void setxtank(int x){
xtank=x;
}
public void srtytank(int y){
ytank=y;
}
public int getxtank(){
return xtank;
}
public int getytank(){
return ytank;
}

arianaboy
چهارشنبه 15 خرداد 1392, 23:01 عصر
نه اصلا مشکل این نبود مشکلم برطرف شد.