You are on page 1of 5

‫‪23/04/2021‬‬ ‫‪ | Java encapsulation‬اﻟﺗﻐﻠﯾف ﻓﻲ ﺟﺎﻓﺎ‬

‫‪HARMASH.COM‬‬ ‫ﻣﻘﺎﻻت‬ ‫اﻟﻤﻜﺘﺒﺔ ▾‬

‫اﻟﺪرس اﻟﺴﺎﺑﻖ‬ ‫»‬

‫‪Java‬‬
‫اﻟﺘﻐﻠﻴﻒ ﻓﻲ ﺟﺎﻓﺎ‬

‫‹ ﻣﻔﻬﻮم اﻟﺘﻐﻠﻴﻒ ﻓﻲ ﺟﺎﻓﺎ‬

‫‹ أﻣﺜﻠﺔ ﺷﺎﻣﻠﺔ ﺣﻮل اﻟﺘﻐﻠﻴﻒ ﻓﻲ ﺟﺎﻓﺎ‬

‫ﻣﻔﻬﻮم اﻟﺘﻐﻠﻴﻒ ﻓﻲ ﺟﺎﻓﺎ‬

‫اﻟﺘﻐﻠﻴﻒ‪ :‬ﻳﻌﻨﻲ ‪ Encapsulation‬ﻓﻲ اﻟﻠﻐﺔ اﻹﻧﺠﻠﻴﺰﻳﺔ‪ .‬و ﻫﻮ ﻋﺒﺎرة ﻋﻦ أﺳﻠﻮب ﻳﻤﻜﻦ اﺗﺒﺎﻋﻪ ﻹﺧﻔﺎء اﻟﺒﻴﺎﻧﺎت اﻷﺳﺎﺳﻴﺔ ﻓﻲ اﻟﻜﻼس‪ ,‬أي ﻹﺧﻔﺎء اﻟﺨﺼﺎﺋﺺ اﻟﻤﻮﺟﻮدة ﻓﻴﻪ ) ‪ ,( Global Variables‬و‬

‫ﻋﻠﻰ اﻟﺘﻌﺎﻣﻞ ﻣﻊ ﻫﺬه اﻟﺨﺼﺎﺋﺺ ﻓﻘﻂ ﻣﻦ ﺧﻼل دوال ﻳﻘﻮم ﺑﺈﻧﺸﺎﺋﻬﺎ اﻟﻤﺒﺮﻣﺞ اﻷﺳﺎﺳﻲ ﻟﻠﻜﻼس‪.‬‬

‫اﻷﺳﻠﻮب اﻟﻤﺘﺒﻊ ﻓﻲ ﻋﻤﻠﻴﺔ اﻟﺘﻐﻠﻴﻒ‬

‫ﺑﻤﺎ أن ﻓﻜﺮة اﻟﺘﻐﻠﻴﻒ اﻷﺳﺎﺳﻴﺔ ﻫﻲ إﺧﻔﺎء اﻟﺒﻴﺎﻧﺎت ﻣﻦ ﺟﻬﺔ و إﺗﺎﺣﺔ اﻟﺘﻌﺎﻣﻞ ﻣﻌﻬﺎ ﻣﻦ ﺟﻬﺔ أﺧﺮى‪.‬‬

‫أول ﻣﺎ ﻳﺠﺐ أن ﻳﺨﻄﺮ ﻓﻲ ﺑﺎﻟﻚ ﻫﻮ أﻧﻪ ﻳﺠﺐ ﺗﻌﺮﻳﻒ ﺟﻤﻴﻊ اﻟﺨﺼﺎﺋﺺ ) أي اﻟﻤﺘﻐﻴﺮات اﻟﺘﻲ ﺳﺘﺤﻔﻆ اﻟﺒﻴﺎﻧﺎت ( اﻟﻤﻮﺟﻮدة ﻓﻲ اﻟﻜﻼس ﻛـ ‪ private‬ﻷن ﺗﻌﺮﻳﻒ اﻟﺨﺼﺎﺋﺺ ﻛـ ‪ private‬ﻳﻌﻨﻲ أﻧﻪ‬

‫داﺧﻞ اﻟﻜﻼس اﻟﻤﻮﺟﻮدﻳﻦ ﻓﻴﻪ‪.‬‬

‫ﺛﺎﻧﻲ ﺷﻴﻰء ﻋﻠﻴﻚ اﻟﺘﻔﻜﻴﺮ ﻓﻴﻪ ﻫﻮ إﻳﺠﺎد ﻃﺮﻳﻘﺔ ﻟﻠﻮﺻﻮل إﻟﻰ ﻫﺬه اﻟﺨﺼﺎﺋﺺ ﻣﻦ اﻟﺨﺎرج‪ .‬ﻟﺬﻟﻚ ﻋﻠﻴﻚ ﺗﺠﻬﻴﺰ دوال ﻧﻮﻋﻬﺎ ‪ public‬ﻟﻠﺘﻌﺎﻣﻞ ﻣﻊ ﻫﺬه اﻟﺨﺼﺎﺋﺺ‪ ,‬ﻷن اﻟﺪوال اﻟﺘﻲ ﻧﻮﻋﻬﺎ ‪public‬‬

‫ﻣﻜﺎن‪.‬‬

‫ً‬
‫إذا ﻟﺘﺤﻘﻴﻖ ﻣﺒﺪأ اﻟﺘﻐﻠﻴﻒ‪ ,‬ﻋﻠﻴﻚ ﺗﻌﺮﻳﻒ اﻟﺨﺼﺎﺋﺺ ﻛـ ‪ private‬و ﺗﻌﺮﻳﻒ اﻟﺪوال اﻟﺘﻲ ﺗﺴﺘﺨﺪم ﻟﻠﻮﺻﻮل إﻟﻴﻬﻢ ﻛـ ‪. public‬‬

‫ﻣﻔﻬﻮم دوال اﻟـ ‪ Setter‬و اﻟـ ‪Getter‬‬

‫ﻋﻨﺪ اﻟﺘﻌﺎﻣﻞ ﻣﻊ أي ﻣﺘﻐﻴﺮ ) أو ﺧﺎﺻﻴﺔ ( ﻓﻌﻨﺪك ﺧﻴﺎرﻳﻦ و ﻫﻤﺎ إﻣﺎ إﻋﻄﺎءه ﻗﻴﻤﺔ ﺟﺪﻳﺪة و إﻣﺎ اﻟﺤﺼﻮل ﻋﻠﻰ اﻟﻘﻴﻤﺔ اﻟﻤﻮﺟﻮدة ﻓﻴﻪ‪ .‬و ﺑﻤﺎ أﻧﻪ ﻳﺠﺐ ﺑﻨﺎء دوال ﻟﻠﺘﻌﺎﻣﻞ ﻣﻊ ﻛﻞ ﺧﺎﺻﻴﺔ ﻣﻦ اﻟﺨﺼﺎﺋﺺ‬

‫ﺑﺈﻋﺘﻤﺎد أﺳﻤﺎء ﻣﺘﻌﺎرف ﻋﻠﻴﻬﺎ ﻛﺎﻟﺘﺎﻟﻲ‪:‬‬

‫إﺑﺪأ إﺳﻢ ﻛﻞ داﻟﺔ اﻟﻬﺪف ﻣﻨﻬﺎ إﻋﻄﺎء ﻗﻴﻤﺔ ﻟﻠﺨﺎﺻﻴﺔ ﺑﺎﻟﻜﻠﻤﺔ ‪ set‬ﺛﻢ إﺳﻢ اﻟﺨﺎﺻﻴﺔ‪.‬‬

‫إﺑﺪأ إﺳﻢ ﻛﻞ داﻟﺔ اﻟﻬﺪف ﻣﻨﻬﺎ اﻟﺤﺼﻮل ﻋﻠﻰ ﻗﻴﻤﺔ اﻟﺨﺎﺻﻴﺔ ﺑﺎﻟﻜﻠﻤﺔ ‪ get‬ﺛﻢ إﺳﻢ اﻟﺨﺎﺻﻴﺔ‪.‬‬

‫أﻣﺜﻠﺔ ﺷﺎﻣﻠﺔ ﺣﻮل اﻟﺘﻐﻠﻴﻒ ﻓﻲ ﺟﺎﻓﺎ‬

‫اﻵن ﺳﻨﻘﻮم ﺑﺈﻧﺸﺎء ﻛﻼس إﺳﻤﻪ ‪ Employee‬و ﻓﻜﺮﺗﻪ ﺗﺨﺰﻳﻦ ﻣﻌﻠﻮﻣﺎت اﻟﻤﻮﻇﻔﻴﻦ ﻣﺜﻞ اﻹﺳﻢ ‪ , name‬اﻟﺮاﺗﺐ ‪ , salary‬اﻟﻌﻤﺮ ‪. age‬‬

‫ﺑﻌﺪﻫﺎ ﺳﻨﻘﻮم ﺑﺘﺠﺮﺑﺔ اﻟﻜﻼس ‪ Employee‬ﻓﻲ اﻟﻜﻼس ‪. Main‬‬

‫اﻟﻤﺜﺎل اﻷول‬

‫{ ‪yee‬‬
‫اﻟﻜﻼس ‪ Employee‬ﻳﻤﻠﻚ ‪ 3‬ﺧﺼﺎﺋﺺ ‪//‬‬
‫اﻹﺳﻢ ﻧﻮﻋﻪ ‪ String‬ﻷﻧﻪ ﻋﺒﺎرة ﻋﻦ ﻧﺺ ‪//‬‬
‫اﻟﻌﻤﺮ ﻧﻮﻋﻪ ‪ int‬ﻷﻧﻪ ﻋﺒﺎرة ﻋﻦ رﻗﻢ ‪//‬‬
‫اﻟﺮاﺗﺐ ﻧﻮﻋﻪ ‪ double‬ﻷﻧﻪ ﻋﺒﺎرة ﻋﻦ رﻗﻢ ﻛﺒﻴﺮ ﻳﻤﻜﻦ أن ﻳﺤﺘﻮي ﻋﻠﻰ ﻓﺎﺻﻠﺔ ‪//‬‬

‫‪https://harmash.com/java/java-encapsulation/‬‬ ‫‪1/5‬‬
‫‪23/04/2021‬‬ ‫‪ | Java encapsulation‬اﻟﺗﻐﻠﯾف ﻓﻲ ﺟﺎﻓﺎ‬

‫‪HARMASH.COM‬‬ ‫ﻣﻘﺎﻻت‬ ‫اﻟﻤﻜﺘﺒﺔ ▾‬

‫{‬

‫{ )‪void main(String[] args‬‬

‫ﻫﻨﺎ ﻗﻤﻨﺎ ﺑﺈﻧﺸﺎء اﻟﻜﺎﺋﻦ ‪ e‬ﻣﻦ اﻟﻜﻼ‬


‫;)(‪= new Employee‬‬

‫ﻫﻨﺎ ﻗﻤﻨﺎ ﺑﻮﺿﻊ ﻗﻴﻢ ﻟﺨﺼ‬


‫;"‪"Mhamad‬‬
‫;‪21‬‬
‫;‪1500000‬‬

‫ﻫﻨﺎ ﻗﻤﻨﺎ ﺑﻌﺮض ﻗﻴﻢ ﺧﺼ‬


‫" ‪.println("Name:‬‬ ‫;)‪+e.name‬‬
‫" ‪.println("Age:‬‬ ‫;)‪+e.age‬‬
‫;)‪.println("Salary: " +e.salary‬‬

‫• ﺳﻨﺤﺼﻞ ﻋﻠﻰ اﻟﻨﺘﻴﺠﺔ اﻟﺘﺎﻟﻴﺔ ﻋﻨﺪ اﻟﺘﺸﻐﻴﻞ‪.‬‬

‫اﻵن ﺳﻨﻘﻮم ﺑﺘﻌﺮﻳﻒ اﻟﺨﺼﺎﺋﺺ ﻛـ ‪ private‬و ﺳﻨﻘﻮم ﺑﺘﻌﺮﻳﻒ دوال ﻧﻮﻋﻬﺎ ‪ public‬ﻟﻠﺘﻌﺎﻣﻞ ﻣﻊ ﻫﺬه اﻟﺨﺼﺎﺋﺺ‪.‬‬

‫ﻣﻼﺣﻈﺔ‪ :‬ﻓﻲ ﻫﺬا اﻟﻤﺜﺎل ﻗﻤﻨﺎ ﺑﺘﻄﺒﻴﻖ ﻣﺒﺪأ اﻟﺘﻐﻠﻴﻒ‪.‬‬

‫اﻟﻤﺜﺎل اﻟﺜﺎﻧﻲ‬

‫{ ‪yee‬‬

‫اﻵن ﻗﻤﻨﺎ ﺑﺘﻌﺮﻳﻒ‬


‫;‪name‬‬
‫;‪age‬‬
‫;‪salary‬‬

‫{ )(‪getName‬‬ ‫ﻫﺬه اﻟﺪاﻟﺔ ﺗﺮﺟﻊ ﻗﻴﻤﺔ اﻟﻤﺨﺰﻧﺔ اﻟﺨﺎﺻﻴﺔ ‪// name‬‬


‫;‪e‬‬

‫{ )(‪Age‬‬ ‫ﻫﺬه اﻟﺪاﻟﺔ ﺗﺮﺟﻊ ﻗﻴﻤﺔ اﻟﻤﺨﺰﻧﺔ اﻟﺨﺎﺻﻴﺔ ‪// age‬‬


‫;‬

‫{ )(‪getSalary‬‬ ‫ﻫﺬه اﻟﺪاﻟﺔ ﺗﺮﺟﻊ ﻗﻴﻤﺔ اﻟﻤﺨﺰﻧﺔ اﻟﺨﺎﺻﻴﺔ ‪// salary‬‬


‫;‪ary‬‬

‫{ )‪tName(String n‬‬ ‫ﻫﺬه اﻟﺪاﻟﺔ ﻧﻌﻄﻴﻬﺎ إﺳﻢ ﻓﺘﻘﻮم ﺑﻮﺿﻌﻪ ﻟﻠﺨﺎﺻﻴﺔ ‪// name‬‬

‫{ )‪tAge(int a‬‬ ‫ﻫﺬه اﻟﺪاﻟﺔ ﻧﻌﻄﻴﻬﺎ رﻗﻢ ﻓﺘﻘﻮم ﺑﻮﺿﻌﻪ ﻟﻠﺨﺎﺻﻴﺔ ‪// age‬‬

‫{ )‪tSalary(double s‬‬ ‫ﻫﺬه اﻟﺪاﻟﺔ ﻧﻌﻄﻴﻬﺎ رﻗﻢ ﻓﺘﻘﻮم ﺑﻮﺿﻌﻪ ﻟﻠﺨﺎﺻﻴﺔ ‪// salary‬‬
‫;‬

‫‪https://harmash.com/java/java-encapsulation/‬‬ ‫‪2/5‬‬
‫‪23/04/2021‬‬ ‫‪ | Java encapsulation‬اﻟﺗﻐﻠﯾف ﻓﻲ ﺟﺎﻓﺎ‬

‫‪HARMASH.COM‬‬ ‫ﻣﻘﺎﻻت‬ ‫اﻟﻤﻜﺘﺒﺔ ▾‬


‫{‬

‫{ )‪void main(String[] args‬‬

‫ﻫﻨﺎ ﻗﻤﻨﺎ ﺑﺈﻧﺸﺎء اﻟﻜﺎﺋﻦ ‪ e‬ﻣﻦ اﻟﻜﻼ‬


‫;)(‪= new Employee‬‬

‫ﻫﻨﺎ ﻗﻤﻨﺎ ﺑﻮﺿﻊ ﻗﻴﻢ ﻟﺨﺼﺎﺋﺺ اﻟﻜﺎﺋﻦ ‪ e‬ﻣﻦ ﺧﻼل‬


‫;)"‪"Mhamad‬‬
‫;)‪1‬‬
‫;)‪y(1500000‬‬

‫ﻫﻨﺎ ﻗﻤﻨﺎ ﺑﻌﺮض ﻗﻴﻢ ﺧﺼﺎﺋﺺ اﻟﻜﺎﺋﻦ ‪ e‬ﻣﻦ ﺧﻼل‬


‫" ‪.println("Name:‬‬ ‫;))(‪+e.getName‬‬
‫" ‪.println("Age:‬‬ ‫;))(‪+e.getAge‬‬
‫;))(‪.println("Salary: " +e.getSalary‬‬

‫• ﺳﻨﺤﺼﻞ ﻋﻠﻰ اﻟﻨﺘﻴﺠﺔ اﻟﺘﺎﻟﻴﺔ ﻋﻨﺪ اﻟﺘﺸﻐﻴﻞ‪.‬‬

‫ً‬
‫أﻳﻀﺎ أﻧﻪ ﻳﺘﻴﺢ ﻟﻚ وﺿﻊ ﺷﺮوط ﻟﺘﺨﺰﻳﻦ اﻟﺒﻴﺎﻧﺎت‪ ,‬ﻛﻤﺎ أﻧﻪ ﻳﺘﻴﺢ ﻟﻚ اﻟﺤﺼﻮل ﻋﻠﻰ اﻟﺒﻴﺎﻧﺎت ﺑﺎﻟﻄﺮﻳﻘﺔ اﻟﺘﻲ ﺗﺮﻳﺪﻫﺎ‪.‬‬ ‫ﻣﻦ ﻓﻮاﺋﺪ اﻟﺘﻐﻠﻴﻒ‬

‫اﻵن ﺳﻨﻘﻮم ﺑﺈﺿﺎﻓﺔ ﺑﻌﺾ اﻟﺘﻌﺪﻳﻼت ﻋﻠﻰ دوال اﻟـ ‪ Setter‬و اﻟـ ‪. Getter‬‬
‫ً‬
‫أﻳﻀﺎ ﻣﻊ وﺿﻊ ﺑﻌﺾ اﻟﻘﻴﻮد ﻋﻨﺪ إدﺧﺎل اﻟﺒﻴﺎﻧﺎت‪ ,‬و إﺿﺎﻓﺔ ﺑﻌﺾ اﻟﺘﻌﺪﻳﻼت ﻋﻨﺪ ﺟﻠﺐ اﻟﺒﻴﺎﻧﺎت‬ ‫ً‬
‫إذا ﻫﻨﺎ ﻗﻤﻨﺎ ﺑﺘﻄﺒﻴﻖ ﻣﺒﺪأ اﻟﺘﻐﻠﻴﻒ‬

‫ﻣﻼﺣﻈﺔ‪ :‬ﻗﻤﻨﺎ ﺑﺘﻌﻠﻴﻢ اﻟﺸﺮوط و اﻟﺘﻌﺪﻳﻼت اﻟﺠﺪﻳﺪة ﺑﺎﻟﻠﻮن اﻷﺻﻔﺮ‪.‬‬

‫اﻟﻤﺜﺎل اﻟﺜﺎﻟﺚ‬

‫{ ‪yee‬‬

‫;‪name‬‬
‫;‪age‬‬
‫;‪salary‬‬

‫{ )(‪getName‬‬ ‫ﻫﺬه اﻟﺪاﻟﺔ ﺗﺮﺟﻊ ﻗﻴﻤﺔ اﻟﺨﺎﺻﻴﺔ ‪ name‬ﻣﻊ إﻇﻬﺎر ﺟﻤﻠﺔ ﺻﻐﻴﺮة ﻗﺒﻠﻬﺎ ‪//‬‬
‫;‪me: " +name‬‬

‫{ )(‪Age‬‬
‫;‬

‫{ )(‪getSalary‬‬
‫;‪ary‬‬

‫{ )‪tName(String n‬‬ ‫ﻫﺬه اﻟﺪاﻟﺔ ﻧﻌﻄﻴﻬﺎ رﻗﻢ ﻓﺘﻘﻮم ﺑﻮﺿﻌﻪ ﻟﻠﺨﺎﺻﻴﺔ ‪ name‬ﺑﺸﺮط أن ﻳﻜﻮن اﻹﺳﻢ أﻛﺒﺮ ﻣﻦ ‪ 3‬أﺣﺮف ‪//‬‬
‫{ )‪th() < 3‬‬
‫;)"!‪.out.println("Name is too short, name can't be less then 3 characters‬‬

‫;‪n‬‬

‫{ )‪tAge(int a‬‬ ‫ﻫﺬه اﻟﺪاﻟﺔ ﻧﻌﻄﻴﻬﺎ رﻗﻢ ﻓﺘﻘﻮم ﺑﻮﺿﻌﻪ ﻟﻠﺨﺎﺻﻴﺔ ‪// age‬‬

‫‪https://harmash.com/java/java-encapsulation/‬‬ ‫‪3/5‬‬
‫‪23/04/2021‬‬ ‫‪ | Java encapsulation‬اﻟﺗﻐﻠﯾف ﻓﻲ ﺟﺎﻓﺎ‬

‫‪HARMASH.COM‬‬
‫‪tSalary(double‬‬ ‫{ )‪s‬‬ ‫ﻫﺬه اﻟﺪاﻟﺔ ﻧﻌﻄﻴﻬﺎ رﻗﻢ ﻓﺘﻘﻮم ﺑﻮﺿﻌﻪ ﻟﻠﺨﺎﺻﻴﺔ ‪// salary‬‬ ‫ﻣﻘﺎﻻت‬ ‫اﻟﻤﻜﺘﺒﺔ ▾‬
‫;‬

‫{‬

‫{ )‪void main(String[] args‬‬

‫;)(‪= new Employee‬‬

‫;)"‪"dj‬‬ ‫ﻟﻦ ﻳﻘﺒﻠﻪ ﻷﻧﻪ أﺻﻐﺮ ﻣﻦ ﺣﺮﻓﻴﻦ ‪//‬‬


‫;)‪1‬‬
‫;)‪y(1500000‬‬

‫;))(‪.println(e.getName‬‬
‫" ‪.println("Age:‬‬ ‫;))(‪+e.getAge‬‬
‫;))(‪.println("Salary: " +e.getSalary‬‬

‫• ﺳﻨﺤﺼﻞ ﻋﻠﻰ اﻟﻨﺘﻴﺠﺔ اﻟﺘﺎﻟﻴﺔ ﻋﻨﺪ اﻟﺘﺸﻐﻴﻞ‪.‬‬

‫!‪can't be less then 3 characters‬‬

‫• ﻻﺣﻆ أﻧﻪ ﻟﻢ ﻳﻘﺒﻞ اﻹﺳﻢ اﻟﺬي أدﺧﻠﻨﺎه ﻟﻪ ﻷﻧﻪ أﺻﻐﺮ ﻣﻦ ﺛﻼﺛﺔ أﺣﺮف‪ ,‬ﻟﺬﻟﻚ ﻃﺒﻊ اﻟﺮﺳﺎﻟﺔ اﻟﺘﻲ ﻗﻤﻨﺎ ﺑﺘﺠﻬﻴﺰﻫﺎ ﻓﻲ ﺣﺎل ﺗﻢ إدﺧﺎل ﻗﻴﻤﺔ أﺻﻐﺮ ﻣﻦ ﺛﻼﺛﺔ أﺣﺮف‪ ,‬ﻛﻤﺎ أﻧﻪ ﻟﻢ ﻳﻀﻊ اﻹﺳﻢ اﻟﺬي ﻗﻤﻨﺎ ﺑﺈ‬

‫ﻛﻤﺎ ﻧﻼﺣﻆ أن اﻟﺪاﻟﺔ )(‪ getName‬ﻗﺎﻣﺖ ﺑﺈرﺟﺎع اﻟﻘﻴﻤﺔ ‪. null‬‬

‫ﻓﻮاﺋﺪ اﻟﺘﻐﻠﻴﻒ‬

‫ﻳﻤﻜﻨﻪ ﺟﻌﻞ اﻷﺷﻴﺎء اﻟﻤﻮﺟﻮدة ﻓﻲ اﻟﻜﻼس ﻗﺎﺑﻠﺔ ﻟﻠﻘﺮاءة أو ﻟﻠﻜﺘﺎﺑﺔ ﻣﻦ ﻗﺒﻞ اﻟﻜﻼﺳﺎت اﻟﺨﺎرﺟﻴﺔ‪.‬‬

‫ﻳﺴﻤﺢ ﻟﻠﻜﻼس ﺑﻮﺿﻊ ﺷﺮوط أﺛﻨﺎء ﺗﺨﺰﻳﻦ اﻟﺒﻴﺎﻧﺎت‪.‬‬


‫ً‬
‫أﻳﻀﺎ ﻓﻲ ﺟﻌﻞ اﻟﺒﺮﻧﺎﻣﺞ ﻗﺎﺑﻞ ﻟﻠﺘﻄﻮﻳﺮ ﻣﻦ ﻣﺒﺮﻣﺠﻴﻦ آﺧﺮﻳﻦ ﺑﺪون ﺣﺎﺟﺔ ﻫﺆﻻء اﻟﻤﺒﺮﻣﺠﻴﻦ إﻟﻰ ﻣﻌﺮﻓﺔ ﺗﻔﺎﺻﻴﻞ اﻟﻜﻮد اﻷﺳﺎﺳﻲ ﻓﻲ اﻟﺒﺮﻧﺎﻣﺞ‪.‬‬ ‫اﻟﺘﻐﻠﻴﻒ ﻳﺴﺎﻋﺪ‬

‫اﻟﺪرس اﻟﺴﺎﺑﻖ‬ ‫»‬

‫ّ‬
‫ﻣﻔﺼﻞ‪ ,‬و ﻫﻮ اﻟﻤﻜﺎن‬ ‫ﻣﺒﺴﻂ و‬
‫ّ‬ ‫ﻫﺮﻣﺶ ﻫﻮ ﻣﻮﻗﻊ ﺗﻌﻠﻴﻤﻲ ﻣﺠﺎﻧﻲ ﻳﻬﺘﻢ ﺑﻌﻠﻮم اﻟﻜﻤﺒﻴﻮﺗﺮ و ﻳﻘﺪم إﻟﻴﻚ اﻟﻤﻌﺮﻓﺔ ﺑﺸﻜﻞ‬

‫ً‬
‫ﻣﺒﺪﻋﺎ ﻓﻲ اﻟﻌﺎﻟﻢ اﻟﺮﻗﻤﻲ‪.‬‬ ‫ً‬
‫ﻣﺤﺘﺮﻓﺎ و‬ ‫ً‬
‫ﻣﺒﺮﻣﺠﺎ‬ ‫اﻟﻤﻨﺎﺳﺐ ﻷي ﺷﺨﺺ ﻳﻄﻤﺢ ﺑﺄن ﻳﺼﺒﺢ‬

‫●‪  ‬اﻷﺳﺌﻠﺔ اﻟﺸﺎﺋﻌﺔ ‪  ●  ‬أﻋﻠﻦ ﻓﻲ اﻟﻤﻮﻗﻊ ‪ ‬‬

‫‪https://harmash.com/java/java-encapsulation/‬‬ ‫‪4/5‬‬
‫‪23/04/2021‬‬ ‫‪ | Java encapsulation‬اﻟﺗﻐﻠﯾف ﻓﻲ ﺟﺎﻓﺎ‬

‫ﺗﻢ ﺗﻄﻮﻳﺮ اﻟﻤﻮﻗﻊ و ﻛﺘﺎﺑﺔ ﺟﻤﻴﻊ اﻟﺪروس ﻣﻦ ﻗﺒﻞ اﻟﻤﺒﺮﻣﺞ‬


‫‪HARMASH.COM‬‬ ‫ﻣﻘﺎﻻت‬ ‫اﻟﻤﻜﺘﺒﺔ ▾‬
‫● ‪  ‬ﻣﺤﻤﺪ ﻫﺮﻣﻮش ‪●  ‬‬

‫ﻓﻲ ﺣﺎل ﻛﻨﺖ ﺗﺮﻏﺐ ﺑﺘﻘﺪﻳﻢ دﻋﻢ ﻣﺎدي ﻟﻠﻤﻮﻗﻊ‪ ,‬ﻳﻤﻜﻨﻚ اﻟﺘﺒﺮع ﻋﺒﺮ ‪ Paypal‬أو ‪ Patreon‬ﺑﺎﻟﻤﺒﻠﻎ اﻟﺬي ﺗﺮﻳﺪه‬

‫ﺗﺒﺮع ﻋﺒﺮ ‪Patreon‬‬ ‫ﺗﺒﺮع ﻋﺒﺮ ‪Paypal‬‬

‫ﺟﻤﻴﻊ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇﺔ ﻟﻠﻤﻮﻗﻊ ‪© ٢٠١٤ - ٢٠٢٠  ‬‬

‫ﻣﺤﺘﻮى اﻟﻤﻮﻗﻊ ﻳﺨﻀﻊ ﻟﺮﺧﺼﺔ )‪ (CC BY-NC-ND 4.0‬اﻟﺘﻲ ﻻ ﺗﺴﻤﺢ ﺑﺎﺳﺘﺨﺪام اﻟﺸﺮوﺣﺎت ﻷﻏﺮاض ﺗﺠﺎرﻳﺔ‪ ,‬إﺟﺮاء ﺗﻌﺪﻳﻞ‬

‫ﻋﻠﻴﻬﺎ و ﻧﺸﺮﻫﺎ ﻓﻲ ﻣﻮﻗﻊ آﺧﺮ‪ ,‬وﺿﻊ اﻟﺸﺮوﺣﺎت ﻓﻲ ﺗﻄﺒﻴﻖ أو ﻓﻲ ﻛﺘﺎب إﻻ ﻓﻲ ﺣﺎل أﺧﺬ ﻣﻮاﻓﻘﺔ ﺻﺮﻳﺤﺔ ﻣﻦ إدارة اﻟﻤﻮﻗﻊ‪.‬‬

‫‪© 2020 Harmash. All Content is licensed under CC BY-NC-ND 4.0 unless mentioned otherwise.‬‬

‫‪https://harmash.com/java/java-encapsulation/‬‬ ‫‪5/5‬‬

You might also like