Private access modifier شرح

 هو أنت بتعمل المتغيرات Private ليه فى الكلاس بتاعك ؟



يعم دا السؤال ده أنا حافظه صم طبعا عشان اعمل data hiding & encapsulation .
يعم استنى بس يعنى أيه معلش مش أنت قصدك بال hiding أنك تخفى الداتا ومتخليش حد يوصلهم ويعدل فيهم فأنت عملت للداتا دى encapsulation من خلال ال setter and getter صح ؟😅

هتقولى أيو هقولك طب ما أنا لو اخد object من الكلاس دا هقدر اوصل للمتغيرات دى من خلال ال setter & getter بتوعك اللى فرحان بيهم😂
أوعى تكون زعلت هو اجابتك صح بس مش الاصح طب تعالى نكمل المعلومه مع بعض بس تعال نكتب كلاس عشان نشرح عليه
class NextStep{
 private int value;
 public void setValue(int value){
 this.value = value;
 }
 public int getValue(){
 return value;
 }
}

شوفت بقا ان بما ان ميثود ال setValue بابلك اقدر اغير فى القيمه اللى انت مخليها برايفيت وبتقولى عاملها hiding

--------------------------------------------------------------------------------------------------------------------------------------
هدف الPrivate access modifier


فى كونسبت فى ال design principle اسمه DRY بيقول ايه المبدأ دا Don't repeat yourself مينفعش تكرر جزء من الكود أنت كاتبه قبل كدا .

مثال توضيحى

تخيل كدا أنت لما هتاخد قيمه محتاج تعمل عليها شويه عمليات وليكن انها لو اكبر من 10 هزود هضربها فى 5 لو لا اسيبها زى ما هى فأنت هتعمل أيه فى ميثود ال setter تعالى نشوف

public void setValue(int value){
 if(value > 10)
    this.value = value*5;
 else
    this.value = value;
 }
طيب لو مكنتش عامل ال encapsulation وسايب المتغير بابلك كنت هتضر كل ما تاخد object قبل ما تحط ال value بتساوى القيمه اللى اليوزر داخلها تعمل عليها جمله ال if مع كل object كدا مثلا
 NextStep obj1 = new NextStep();
 if(value > 10)
   obj1.value = value*10
 else
   obj1.value = value;
 NextStep obj2 = new NextStep();
 if(value > 10)
   obj2.value = value*10
 else
   obj2.value = value;

طبعا دا مش الهدف الرئيسى هدفنا اننا نقدر نعمل كنترول على الداتا زى ما المثال موضح

1- Don't repeat yourself
2- control property

---------------------------------------------------------------------------------------------------------------
الى اللقاء

بس كدا انا خلصت عندكوا اى تعليقات او اضافه ياريت تعرفونا ومتنساش تعمل لايك وشير وصبصكرايب معلش اندمجت شويه😍😍
يلا سلاااااام.

Comments

Post a Comment