اذهب إلى المحتوى
  • 0

قراءة قيمة خاصية في صنف جافا واستعمال قيمته للتحقق من شرط OOP جافا

Hoida Ahamed

السؤال

package Java;

public class Fan {
  final SLOW =1;
  final MEDIUM =2;
  final FAST =3;
  private int speed =1;
  private boolean on =false ;
  private double radius =5;
  String color blue;

  public Fan(){

  }

  public void setSpeed(int speed){
    this.speed = speed;
  }

  public void setOn(boolean on){
    this.on = on;
  }

  public void setRadius(double radius){
    this.radius = radius;
  }

  public void setColor(String color){
    this.color = color;
  }

  public int getSpeed(){
    return speed;
  }

  public boolean getOn(){
    return on;
  }

  public double getRadius(){
    return radius;
  }

  public String getColor(){
    return color;
  }

  public String toString(){

    //اذا كانت المروحة on
    if (.......)
      return "speed "+speed+"\n"+"color"+color+"\n"+"radius"+radius+"\n";
    //اذا كانت المروحة not on
    else {
      return "color"+color+"\n"+"radius"+radius+"\n";
    }
  }
}

كيف اكتب شرط 

onوnot onفي البرنامج؟

وهل هناك طريقة اخرى للحل؟

تم التعديل في بواسطة Wael Aljamal
توضيح السؤال
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

نحن نستعمل الدالة toString في نفس الصنف، أي نفس class لذلك لاداعِ لاستعمال الmethod مثل get set ولكن الأفضل استعمالها مثل:

  public String toString(){

    //اذا كانت المروحة on
    if (getOn())
      return "speed "+speed+"\n"+"color"+color+"\n"+"radius"+radius+"\n";
    //اذا كانت المروحة not on
    else {
      return "color"+color+"\n"+"radius"+radius+"\n";
    }
  }

أي ماعلينا فعله هو استدعاء الدالة ()getOn في المكان الذي نريد فيه استدعاء المتغير، حيث بعد الاستدعاء سيتم تعويض قيمة المتغير on في هذا السطر لأن الدالة تعمل على return on أي سيتم فحص الشطر كما هو مطلوب

يمكن كتابة :

if ( on ) {
	..
}

مباشرة، حيث أن private متاحة ضمن نفس الصنف، إنما لايمكن الوصول لها من الغرض Object مباشرة.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

يمكنك استعمال قيمة on مباشرة لأنك داخل نفس الكلاس.

 public String toString(){

    //اذا كانت المروحة on
    if (on)
      return "speed "+speed+"\n"+"color"+color+"\n"+"radius"+radius+"\n";
    //اذا كانت المروحة not on
    else {
      return "color"+color+"\n"+"radius"+radius+"\n";
    }
  }

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...