You are on page 1of 62

‫‪Machine Translated by Google‬‬

‫اﻟﻔﺼﻞ ‪9‬‬
‫اﻟﻜﺎﺋﻨﺎ ت واﻟﻔﺌﺎ ت‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬ ‫واﺣﺪ‬

‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬


‫ﺗﺤﻔﻴﺰ‬
‫‪Machine Translated by Google‬‬

‫ﺒﺎرا ت اﻟﺸﺮﻃﻴ ﺔ واﻟﺤﻠﻘﺎ ت واﻷﺳﺎﻟﻴ ﺐ واﻟﻤﺼﻔﻮﻓﺎ ت‬


‫ﺘﺨﺪام اﻟﻌ‬
‫•اﺳ‬
‫ﺒﺮﻣﺠﻴ ﺔ‬
‫ﻗﺎدر ﻋﲆ ﺣﻞ اﻟﻌﺪﻳﺪ ﻣﻦ اﻟﻤﺸﺎﻛﻞ اﻟ‬
‫ﻳﺠ ﺐ انﺗﻜﻮن‪.‬‬

‫ﺒﻴﺮة‬
‫ﺘﺨﺪم رﺳﻮﻣﻴ ﺔ وﻛ‬
‫ﺘﻄﻠ ﺐ واﺟﻬﺎ ت ﻣ ﺴ‬
‫•وﻣﻊ ذﻟﻚ‪ ،‬ﻓﺈن ﻣﻴﺰا ت ‪ Java‬ﻫﺬهﺗ‬
‫ﺘﺨﺪم رﺳﻮﻣﻴ ﺔ ﻛﻤﺎ ﻫﻮ ﻣﻮﺿﺢ أدﻧﺎه‬
‫ﺗﻄﻮﻳﺮ واﺟﻬ ﺔ ﻣ ﺴ‬
‫ﺑﺮﻣﺠﻴ ﺔ واﺳﻌ ﺔ اﻟﻨﻄﺎق‪• .‬‬‫ﻻﻳﻜﻔ ﻲﺗﻄﻮﻳﺮ أﻧﻈﻤ ﺔ‬

‫ﺑﺮﻣﺠ ﺔ ﻫﺬا؟‬‫ﺘﺮض أﻧﻚﺗﺮﻳﺪ‪ .‬ﻛﻴﻒﻳﻤﻜﻨﻚ‬


‫ﻟﻨﻔ‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪2‬‬
‫اﻷ ﻫﺪاف‬
‫‪Machine Translated by Google‬‬

‫‪9.2).‬أﻇﻬﺮ ﻛﻴﻔﻴ ﺔﺗﻌﺮﻳﻒ‬ ‫ﺘﻌﺮﻳﻒ اﻟﻔﺌﺎ ت واﻟﻜﺎﺋﻨﺎ ت )اﻟﻔﻘﺮة‬


‫ﺘﺨﺪامﺗﺪوﻳﻦ ‪UML‬اﻟﺮﺳﻮﻣ ﻲ ﻟ‬
‫‪9.2).‬اﺳ‬ ‫ﺘﺨﺪام اﻟﻔﺌﺎ ت ﻟﻨﻤﺬﺟ ﺔ اﻟﻜﺎﺋﻨﺎ ت )اﻟﻔﻘﺮة‬
‫ﺗﻌﺮﻳﻒ اﻟﻜﺎﺋﻨﺎ ت واﻟﻔﺌﺎ ت واﺳ‬

‫ﺗﺤﺪﻳﺪ‬
‫‪9.5).‬‬ ‫ﺘﻐﻴﺮا ت اﻟﻤﺮﺟﻌﻴ ﺔ ﻟﻠﻜﺎﺋﻨﺎ ت )اﻟﻔﻘﺮة‬
‫ﺒﺮ اﻟﻤ‬
‫‪9.4).‬اﻟﻮﺻﻮل إﱃ اﻟﻜﺎﺋﻨﺎ ت ﻋ‬ ‫اﻟﻤﻨﺸﺌﺎ ت )اﻟﻔﻘﺮة‬
‫ﺘﺨﺪام ُ‬
‫ﺑﺎﺳ‬‫‪9.3).‬إﻧﺸﺎء اﻟﻜﺎﺋﻨﺎ ت‬ ‫اﻟﻔﺌﺎ ت وإﻧﺸﺎء اﻟﻜﺎﺋﻨﺎ ت )اﻟﻔﻘﺮة‬

‫ﺒﻴﺎﻧﺎ ت‬
‫ﺗﺤﺪﻳﺪ ﺣﻘﻮل اﻟ‬
‫‪9.5.2).‬‬ ‫ﺘﺨﺪام ﻋﺎﻣﻞ اﻟﻮﺻﻮل إﱃ ﻋﻀﻮ اﻟﻜﺎﺋﻦ )‪)(.‬اﻟﻔﻘﺮة‬
‫ﺑﺎﺳ‬‫ﺑﻴﺎﻧﺎ ت اﻟﻜﺎﺋﻦ وﻃﺮﻗﻪ‬‫‪9.5.1).‬اﻟﻮﺻﻮل إﱃ‬ ‫ﺘﺨﺪام ﻧﻮع ﻣﺮﺟﻌ ﻲ )اﻟﻔﻘﺮة‬
‫ﺑﺎﺳ‬‫ﺘﻐﻴﺮ ﻣﺮﺟﻌ ﻲ‬
‫ﻣ‬

‫ﺑﺎﻟﻜﺎﺋﻦ‬‫ﺒﻴﺎﻧﺎ ت اﻟﺨﺎﺻ ﺔ‬
‫ﺘﺮاﺿﻴ ﺔ ﻟﺤﻘﻮل اﻟ‬
‫ﺗﻌﻴﻴﻦ اﻟﻘﻴﻢ اﻻﻓ‬
‫ﻟﻸﻧﻮاع اﻟﻤﺮﺟﻌﻴ ﺔ و‬

‫‪(§9.5.3).‬‬

‫ﺑﻴﻦ‬‫‪9.6).‬ﻣﻴﺰ‬ ‫ﺒ ﺔ ‪Point2D‬و ‪Random‬و ‪)Java Date‬اﻟﻔﻘﺮة‬


‫ﺘ‬‫ﺘﺨﺪام ﻓﺌﺎ ت ﻣﻜ‬
‫‪9.5.4).‬اﺳ‬ ‫ﺒﻴﺎﻧﺎ ت اﻷﺳﺎﺳﻴ ﺔ )اﻟﻔﻘﺮة‬
‫ﺘﻐﻴﺮا ت ﻧﻮع اﻟ‬
‫ﺘﻐﻴﺮا ت اﻟﻤﺮﺟﻌﻴ ﺔ ﻟﻠﻜﺎﺋﻦ وﻣ‬
‫ﺑﻴﻦ اﻟﻤ‬‫ﻣﻴﺰ‬

‫ﺘ ﺴﻬﻴﻞ‬
‫ﺒﻴﺎﻧﺎ ت ﻟ‬
‫ﺗﻐﻠﻴﻒ ﺣﻘﻮل اﻟ‬
‫‪9.8).‬‬ ‫ﺒ ﺔ )اﻟﻔﻘﺮة‬
‫ﺒﻂ اﻟﻤﻨﺎﺳ‬
‫ﺑﻄﺮق اﻟﺤﺼﻮل واﻟﻀ‬‫ﺒﻴﺎﻧﺎ ت اﻟﻤﺨﺼﺼ ﺔ‬
‫ﺗﺤﺪﻳﺪ ﺣﻘﻮل اﻟ‬
‫‪9.7).‬‬ ‫ﺘ ﺔ )اﻟﻔﻘﺮة‬
‫ﺑ‬‫ﺜﺎ‬
‫ﺘﻐﻴﺮا ت واﻷﺳﺎﻟﻴ ﺐ اﻟ‬
‫ﺜﻴﻞ واﻟﻤ‬
‫اﻟﻤ‬

‫ﺑﻴﻦ وﺳﻴﻄﺎ ت اﻟﻨﻮع اﻷﺳﺎﺳ ﻲ ووﺳﻴﻄﺎ ت ﻧﻮع اﻟﻜﺎﺋﻦ‬‫ﺘﻤﻴﻴﺰ‬


‫ﺘﺨﺪام وﺳﻴﻄﺎ ت اﻟﻜﺎﺋﻦ واﻟ‬
‫ﺑﺎﺳ‬‫ﺗﻄﻮﻳﺮ اﻷﺳﺎﻟﻴ ﺐ‬
‫‪9.9).‬‬ ‫ﺻﻴﺎﻧ ﺔ اﻟﻔﺌﺎ ت )اﻟﻔﻘﺮة‬

‫ﺘﻐﻴﻴﺮ ﻟﻠﺤﻔﺎظ ﻋﲆ‬


‫ﺑﻠ ﺔ ﻟﻠ‬
‫ﺘﻐﻴﻴﺮ ﻣﻦ ﻓﺌﺎ ت ﻏﻴﺮ ﻗﺎ‬
‫ﺑﻠ ﺔ ﻟﻠ‬
‫‪9.11).‬إﻧﺸﺎء ﻛﺎﺋﻨﺎ ت ﻏﻴﺮ ﻗﺎ‬ ‫ﺘﻬﺎ ﻓ ﻲ اﻟﻤﺼﻔﻮﻓﺎ ت )اﻟﻔﻘﺮة‬
‫ﺗﺨﺰﻳﻦ اﻟﻜﺎﺋﻨﺎ ت وﻣﻌﺎﻟﺠ‬
‫‪(§9.10).‬‬ ‫ﺑﻪ‬‫ﻟﻠﻘﻴﺎم‬

‫ﺘﺼﻞ ﻧﻔ ﺴﻪ‬
‫ﺘﺨﺪام اﻟﻜﻠﻤ ﺔ اﻷﺳﺎﺳﻴ ﺔ ‪this‬ﻟﻺﺷﺎرة إﱃ اﻟﻜﺎﺋﻦ اﻟﻤ‬
‫‪9.13).‬اﺳ‬ ‫ﺘﻐﻴﺮا ت ﻓ ﻲﺳﻴﺎق اﻟﻔﺼﻞ )اﻟﻔﻘﺮة‬
‫ﺗﺤﺪﻳﺪ ﻧﻄﺎق اﻟﻤ‬
‫‪9.12).‬‬ ‫ﺘﻮﻳﺎ ت اﻟﻜﺎﺋﻨﺎ ت )اﻟﻔﻘﺮة‬
‫ﻣﺤ‬

‫)اﻟﻔﻘﺮة ‪9.14).‬‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫‪3‬‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪Machine Translated by Google‬‬

‫ﺒﺮﻣﺠ ﺔ اﻟﺸﻴﺌﻴ ﺔ‬
‫ﻣﻔﺎ ﻫﻴﻢ اﻟ‬

‫ﺘﺨﺪام اﻟﻜﺎﺋﻨﺎ ت‬
‫ﺑﺎﺳ‬
‫ﺒﺮﻣﺠ ﺔ اﻟﺸﻴﺌﻴ ﺔ ‪(OOP)،‬‬
‫•اﻟ‬
‫ﺒﺮﻣﺠ ﺔ‪.‬‬
‫ﻳﺸﻤﻞ اﻟ‬
‫ﺜﺎل‪،‬‬
‫ﺒﻴﻞ اﻟﻤ‬ ‫ﺑﻮﺿﻮح ﻓ ﻲ اﻟﻌﺎﻟﻢ اﻟﺤﻘﻴﻘ ﻲ‪ .‬ﻋﲆﺳ‬ ‫ﺘﻌﺮف ﻋﻠﻴﻪ‬‫ﺜﻞ اﻟﻜﺎﺋﻦ ﻛﻴﺎﻧًﺎﻳﻤﻜﻦ اﻟ‬
‫•ﻳﻤ‬
‫ﺑﺄﻛﻤﻠﻪ ﻛﺄﺷﻴﺎء‪.‬‬‫ﺘﻰ اﻟﻘﺮض‬ ‫ﺘ ﺐ واﻟﺪاﺋﺮة واﻟﺰر وﺣ‬
‫ﻳﻤﻜﻦ اﻟﻨﻈﺮ إﱃ اﻟﻄﺎﻟ ﺐ واﻟﻤﻜ‬

‫•ﻣﻌﺮف ﻓﺮﻳﺪ وﺣﺎﻟ ﺔ وﺳﻠﻮك ﻟﻠﻜﺎﺋﻦ‪.‬‬


‫ﻟﺪﻳﻪ‪.‬‬

‫ﺑﺎﻟﺨﺼﺎﺋﺺ(‬ ‫ﺒﻴﺎﻧﺎ ت )اﻟﻤﻌﺮوﻓ ﺔ أ ً‬


‫ﻳﻀﺎ‬ ‫ﺘﻜﻮن ﺣﺎﻟ ﺔ اﻟﻜﺎﺋﻦ ﻣﻦ ﻣﺠﻤﻮﻋ ﺔ ﻣﻦ ﺣﻘﻮل اﻟ‬
‫ﺗ‬‫•‬
‫ﺑﻘﻴﻤﻬﺎ اﻟﺤﺎﻟﻴ ﺔ ‪.‬‬

‫ﺘﻢﺗﻌﺮﻳﻒﺳﻠﻮك اﻟﻜﺎﺋﻦ ﻣﻦ ﺧﻼل ﻣﺠﻤﻮﻋ ﺔ ﻣﻦ اﻷﺳﺎﻟﻴ ﺐ‪.‬‬


‫•ﻳ‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫‪4‬‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪Machine Translated by Google‬‬

‫أﺷﻴﺎء‬
‫اﺳﻢ اﻟﻔﺌ ﺔ‪ :‬اﻟﺪاﺋﺮة‬ ‫ﻗﺎﻟ ﺐ اﻟﺼﻒ‬

‫ﺒﻴﺎﻧﺎ ت‪:‬‬
‫ﺣﻘﻮل اﻟ‬
‫ﻧﺼﻒ اﻟﻘﻄﺮ ﻫﻮ‬ ‫_______‬

‫ُﻃ ﺮق‪:‬‬

‫‪getArea‬‬

‫ﻛﺎﺋﻦ اﻟﺪاﺋﺮة ‪1‬‬ ‫ﻛﺎﺋﻦ اﻟﺪاﺋﺮة ‪2‬‬ ‫ﻛﺎﺋﻦ اﻟﺪاﺋﺮة ‪3‬‬ ‫ﺛ ﺔ ﻛﺎﺋﻨﺎ ت ﻣﻦ‬‫ﺛﻼ‬
‫ﻓﺌ ﺔ اﻟﺪاﺋﺮة‬
‫ﺒﻴﺎﻧﺎ ت‪:‬‬
‫ﺣﻘﻮل اﻟ‬ ‫ﺒﻴﺎﻧﺎ ت‪:‬‬
‫ﺣﻘﻮل اﻟ‬ ‫ﺒﻴﺎﻧﺎ ت‪:‬‬
‫ﺣﻘﻮل اﻟ‬
‫ﻧﺼﻒ اﻟﻘﻄﺮ ﻫﻮ ‪10‬‬ ‫ﻧﺼﻒ اﻟﻘﻄﺮ ﻫﻮ ‪25‬‬ ‫ﻧﺼﻒ اﻟﻘﻄﺮ ﻫﻮ ‪125‬‬

‫ﻛﻞ ﻣﻦ ﺣﺎﻟ ﺔ وﺳﻠﻮك اﻟﻜﺎﺋﻦ‬


‫ﻫﻨﺎك )اﻟ ﺴﻠﻮك(‪.‬ﺗﺤﺪد اﻟﺪوﻟ ﺔ اﻟﻜﺎﺋﻦ و‬
‫ﻳﺼﻒ اﻟ ﺴﻠﻮك ﻣﺎﻳﻔﻌﻠﻪ اﻟﻜﺎﺋﻦ‪.‬‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪5‬‬
‫‪Machine Translated by Google‬‬

‫ﺒﻘﺎ ت‬
‫اﻟﻄ‬
‫ﺘﺨﺪم ﻓﺌ ﺔ ‪Java‬‬
‫ﺗﺴ‬‫ﺘ ﻲﺗﺤﺪد ﻛﺎﺋﻨﺎ ت ﻣﻦ ﻧﻔ ﺲ اﻟﻨﻮع‪• .‬‬
‫•اﻟﻔﺌﺎ ت ﻫ ﻲ اﻟﻬﻴﺎﻛﻞ اﻟ‬

‫ﺘﺤﺪﻳﺪ اﻟ ﺴﻠﻮﻛﻴﺎ ت‪.‬‬


‫ﺒﻴﺎﻧﺎ ت واﻷﺳﺎﻟﻴ ﺐ ﻟ‬
‫ﺘﺤﺪﻳﺪ ﺣﻘﻮل اﻟ‬
‫ﺘﻐﻴﺮا ت ﻟ‬
‫اﻟﻤ‬

‫ﺑﺎﺳﻢ‬‫ﺑﺎﻹﺿﺎﻓ ﺔ إﱃ ذﻟﻚ‪،‬ﺗﻮﻓﺮ اﻟﻔﺌ ﺔ أﻧﻮاﻋً ﺎ ﺧﺎﺻ ﺔ ﻣﻦ اﻷﺳﺎﻟﻴ ﺐ‪ ،‬اﻟﻤﻌﺮوﻓ ﺔ‬


‫•‬
‫ﺘﺪﻋﺎؤ ﻫﺎ ﻹﻧﺸﺎء ﻛﺎﺋﻨﺎ ت ﻣﻦ اﻟﻔﺌ ﺔ‪.‬‬
‫ﺘﻢ اﺳ‬
‫ﺘ ﻲﻳ‬
‫اﻟﻤﻨﺸﺌﺎ ت‪ ،‬واﻟ‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪6‬‬
‫ﺒﻘﺎ ت‬
‫اﻟﻄ‬
‫‪Machine Translated by Google‬‬

‫**‪class Circle { /‬ﻧﺼﻒ ﻗﻄﺮ ﻫﺬه اﻟﺪاﺋﺮة ;‪*/ double radius = 1.0‬‬

‫ﺒﻴﺎﻧﺎ ت‬
‫ﺣﻘﻮل اﻟ‬
‫ﺒﻴﺎﻧﺎ ت‬
‫ﺣﻘﻞ اﻟ‬
‫**‪/‬إﻧﺸﺎء ﻛﺎﺋﻦ داﺋﺮي ‪*/‬‬
‫اﻟﺪاﺋﺮة } { )(‬

‫ﺒﻨﺎﺋﻴﻦ‬
‫اﻟ‬

‫ﺻﻨﺎع‬
‫**‪/‬إﻧﺸﺎء ﻛﺎﺋﻦ داﺋﺮي ‪*/‬‬
‫داﺋﺮة )ﻣﺰدوج ؛‪newRadius) { radius = newRadius‬‬

‫}‬

‫**‪/‬إرﺟﺎع ﻣ ﺴﺎﺣ ﺔ ﻫﺬه اﻟﺪاﺋﺮة ;‪double getArea() { return radius * radius * 3.14159‬‬

‫‪*/‬‬ ‫ﻃﺮﻳﻘ ﺔ‬
‫ﻃﺮﻳﻘ ﺔ‬
‫}‬
‫}‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪7‬‬
‫‪Machine Translated by Google‬‬

‫ﻣﺨﻄﻂ ﻓﺌ ﺔ ‪UML‬‬
‫داﺋﺮة‬ ‫اﺳﻢ اﻟﻔﺌ ﺔ اﺳﻢ اﻟﻔﺌ ﺔ‬
‫ﻣﺨﻄﻂ ﻓﺌ ﺔ ‪UML‬‬
‫ﻣﺨﻄﻂ ﻓﺌ ﺔ ‪UML‬‬
‫ﻧﺼﻒ اﻟﻘﻄﺮ‪ :‬ﻣﺰدوج‬ ‫ﺒﻴﺎﻧﺎ ت‬
‫ﺒﻴﺎﻧﺎ ت ﺣﻘﻮل اﻟ‬
‫ﺣﻘﻮل اﻟ‬

‫ﺒﻨﺎﺋﻴﻦ واﻷﺳﺎﻟﻴ ﺐ‬
‫اﻟ‬
‫داﺋﺮة)(‬
‫ﺒﻨﺎﺋﻴﻦ واﻷﺳﺎﻟﻴ ﺐ‬
‫اﻟ‬
‫اﻟﺪاﺋﺮة )ﻧﺼﻒ اﻟﻘﻄﺮ اﻟﺠﺪﻳﺪ‪ :‬ﻣﺰدوج(‬

‫‪getArea ():‬ﻣﺰدوج‬

‫‪getPerimeter ():‬ﻣﺰدوج‬

‫‪setRadius(newRadius: double):‬‬
‫ﺑﺎﻃﻞ‬

‫اﻟﺪاﺋﺮة ‪2:‬اﻟﺪاﺋﺮة‬ ‫اﻟﺪاﺋﺮة ‪3:‬اﻟﺪاﺋﺮة‬ ‫ﺗﺪوﻳﻦ ‪UML‬ﻟﻠﻜﺎﺋﻨﺎ ت‬


‫اﻟﺪاﺋﺮة ‪1:‬اﻟﺪاﺋﺮة‬

‫ﻧﺼﻒ اﻟﻘﻄﺮ ‪= 1.0‬‬ ‫ﻧﺼﻒ اﻟﻘﻄﺮ ‪= 25‬‬ ‫ﻧﺼﻒ اﻟﻘﻄﺮ ‪= 125‬‬ ‫ﻟﻠﻜﺎﺋﻨﺎ ت‬
‫ﺗﺪوﻳﻦ ‪UML‬‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫‪8‬‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪Machine Translated by Google‬‬

‫ﺜﺎل‪:‬ﺗﻌﺮﻳﻒ اﻟﻔﺌﺎ ت و‬
‫ﻣ‬
‫إﻧﺸﺎء ﻛﺎﺋﻦ‬

‫ﺒﻴﺎﻧﺎ ت‬
‫اﻟﻐﺮض‪ :‬إﻧﺸﺎء اﻟﻜﺎﺋﻨﺎ ت واﻟﻮﺻﻮل إﱃ اﻟ‬
‫ﺘﺨﺪام اﻷﺳﺎﻟﻴ ﺐ‪.‬‬
‫وإﻇﻬﺎر ﻛﻴﻔﻴ ﺔ اﺳ‬

‫‪TestSimpleCircle‬‬ ‫ﻳﺠﺮي‬

‫‪9‬‬
‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪Machine Translated by Google‬‬

‫ﺜﺎل‪:‬ﺗﻌﺮﻳﻒ اﻟﻔﺌﺎ ت وإﻧﺸﺎء اﻟﻜﺎﺋﻨﺎ ت‬


‫ﻣ‬

‫ﺗﻠﻔﺰﻳﻮن‬

‫ﺜﺎﻓ ﺔ اﻟﻌﻤﻠﻴﺎ ت‬
‫اﻟﻘﻨﺎة‪ :‬ﻛ‬ ‫ﺘﻠﻔﺰﻳﻮن‪.‬‬
‫اﻟﻘﻨﺎة اﻟﺤﺎﻟﻴ ﺔ )ﻣﻦ ‪1‬إﱃ )‪120‬ﻟﻬﺬا اﻟ‬

‫ﺜﺎﻓ ﺔ اﻟﻌﻤﻠﻴﺎ ت‬
‫ﺘﻮى اﻟﺼﻮ ت‪ :‬ﻛ‬
‫ﻣﺴ‬ ‫ﺘﻠﻔﺰﻳﻮن‪.‬‬
‫ﺘﻮى اﻟﺼﻮ ت اﻟﺤﺎﻟ ﻲ )ﻣﻦ ‪1‬إﱃ )‪7‬ﻟﻬﺬا اﻟ‬
‫ﻣﺴ‬

‫ﻋﺸﺮة‪ :‬ﻣﻨﻄﻘﻴ ﺔ‬ ‫ﺘﺸﻐﻴﻞ‪/‬اﻹﻳﻘﺎف‪.‬‬


‫ﺘﻠﻔﺰﻳﻮن ﻗﻴﺪ اﻟ‬
‫ﻳﺸﻴﺮ إﱃ ﻣﺎ إذا ﻛﺎن ﻫﺬا اﻟ‬

‫ﺗﺸﻴﺮ اﻟﻌﻼﻣ ﺔ ‪+‬إﱃُﻣﻌﺪﱢل ﻋﺎم‪.‬‬ ‫ﺗﻠﻔﺰﻳﻮن)(‬


‫‪+‬‬ ‫ﺑﻨﺎء‬‫ﺘﺮاﺿ ﻲ‪.‬‬
‫إﻧﺸﺎء ﻛﺎﺋﻦﺗﻠﻔﺰﻳﻮﻧ ﻲ اﻓ‬

‫ﺑﺎﻃﻞ‬
‫‪+turnOn():‬‬ ‫ﺘﻠﻔﺰﻳﻮن‪.‬‬
‫ﺘﺸﻐﻴﻞ ﻫﺬا اﻟ‬
‫ﺑ‬‫ﻳﻘﻮم‬

‫ﺗﺸﻴﺮ اﻟﻌﻼﻣ ﺔ ‪+‬إﱃ أﻧﻪ رﻣﺰ‬


‫ﺑﺎﻃﻞ‬
‫‪+turnOff ():‬‬ ‫ﺘﻠﻔﺰﻳﻮن‪.‬‬
‫إﻳﻘﺎفﺗﺸﻐﻴﻞ ﻫﺬا اﻟ‬
‫وﺻﻮل ﻋﺎم‪.‬‬
‫ﺑﺎﻃﻞ‬
‫‪+setChannel(newChannel: int):‬‬ ‫ﺘﻠﻔﺰﻳﻮن‪.‬‬
‫ﺒﻂ ﻗﻨﺎة ﺟﺪﻳﺪة ﻟﻬﺬا اﻟ‬
‫ﻳﻀ‬

‫ﺑﺎﻃﻞ‬
‫‪+setVolume(newVolumeLevel: int):‬‬ ‫ﺘﻠﻔﺰﻳﻮن‪.‬‬
‫ﺘﻮى ﺻﻮ ت ﺟﺪﻳﺪًا ﻟﻬﺬا اﻟ‬
‫ﺒﻂ ﻣ ﺴ‬
‫ﻳﻀ‬

‫ﺑﺎﻃﻞ‬
‫‪+channelUp():‬‬ ‫ﺑﻤﻘﺪار ‪1.‬‬‫زﻳﺎدة رﻗﻢ اﻟﻘﻨﺎة‬

‫ﺑﺎﻃﻞ‬
‫‪+channelDown():‬‬ ‫ﺑﻤﻘﺪار ‪1.‬‬‫ﻳﻘﻠﻞ رﻗﻢ اﻟﻘﻨﺎة‬

‫ﺑﺎﻃﻞ‬
‫‪+volumeUp():‬‬ ‫ﺑﻤﻘﺪار ‪1.‬‬‫ﺘﻮى اﻟﺼﻮ ت‬
‫ﻳﺰﻳﺪ ﻣ ﺴ‬

‫ﺑﺎﻃﻞ‬
‫‪+‬ﺣﺠﻢ اﻟﺼﻮ ت ‪():‬‬ ‫ﺑﻤﻘﺪار ‪1.‬‬‫ﺘﻮى اﻟﺼﻮ ت‬
‫ﻳﺨﻔﺾ ﻣ ﺴ‬

‫ﺗﻠﻔﺰﻳﻮن‬

‫ﻳﺠﺮي‬
‫‪TestTV‬‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪10‬‬
‫‪Machine Translated by Google‬‬

‫ﺒﻨﺎﺋﻴﻦ‬
‫اﻟ‬

‫اﻟﺪاﺋﺮة { )(‬
‫}‬

‫داﺋﺮة )ﻣﺰدوج ؛‪newRadius) { radius = newRadius‬‬

‫}‬

‫ﺒﻨﺎﺋﻴﻦ ﻹﻧﺸﺎء اﻟﻜﺎﺋﻨﺎ ت‬


‫•اﻟ‬
‫إﻧﻪ ﻧﻮع ﺧﺎص ﻣﻦ اﻟﻄﺮﻳﻘ ﺔﻳ ﺴﻤﻰ‪.‬‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬ ‫اﻟﺤﺎدي ﻋﺸﺮ‬

‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬


‫‪Machine Translated by Google‬‬

‫ﺑﻊ ﺻﻨﺎع‬
‫ﺗﺎ‬
‫و‬
‫ﺑﺪون‬‫ﺘﻮي ﻋﲆ ﻣﻌﻠﻤﺎ ت "ﻣﻨﺸﺌﺎ ت‬
‫ﺘ ﻲ ﻻﺗﺤ‬
‫ُﻄﻠﻖ ﻋﲆ اﻟﻤﻨﺸﺌﺎ ت اﻟ‬
‫•ﻳ‬
‫وﺳﻴﻄﺎ ت" ‪.‬‬

‫•اﻟﻤﻨﺸﺌﻮن ﻟﺪﻳﻬﻢ ﻧﻔ ﺲ اﺳﻢ اﻟﻔﺌ ﺔ ﻧﻔ ﺴﻬﺎ‬


‫ﻳﺠ ﺐ انﻳﻜﻮن‪.‬‬

‫ﺑﺎﻃﻞ‪.‬‬‫ﺘﻰ‬
‫•ﻻﻳﻮﺟﺪ ﻟﺪى اﻟﻤﻨﺸﺌﻴﻦ ﻧﻮع إرﺟﺎع‪ ،‬وﻻ ﺣ‬

‫ﺘﺪﻋﺎء اﻟﻤﻨﺸﺌﻴﻦ اﻟﺠﺪد ﻋﻨﺪ إﻧﺸﺎء ﻛﺎﺋﻦ‪.‬‬


‫ﺘﻢ اﺳ‬
‫•ﻳ‬
‫ﺒﻨﺎء‬
‫ﺘﺨﺪام اﻟﻤﺸﻐﻞ‪ .‬ﻛﺎﺋﻨﺎ ت اﻟ‬
‫ﻳﻄﻠﻖ ﻋﻠﻴﻪ اﺳ‬
‫ﺘﻬﻴﺌ ﺔ‪.‬‬
‫ﺒﻮن دور اﻟ‬
‫ﻳﻠﻌ‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫‪12‬‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪Machine Translated by Google‬‬

‫ﺘﺨﺪام اﻟﻤﻨﺸﺌﻴﻦ‬
‫ﺑﺎﺳ‬‫إﻧﺸﺎء ﻛﺎﺋﻨﺎ ت‬

‫اﺳﻢ ﻓﺌ ﺔ ﺟﺪﻳﺪ ؛)(‬

‫ﺜﺎل‬
‫ﻣ‬
‫داﺋﺮة ﺟﺪﻳﺪة)(;‬

‫داﺋﺮة ﺟﺪﻳﺪة ؛)‪(5.0‬‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫‪13‬‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪Machine Translated by Google‬‬

‫ﺘﺮاﺿ ﻲ‬
‫اﻟﻤﻨﺸ ﺊ اﻻﻓ‬
‫ﺘﺮاﺿ ﻲ(‬
‫)اﻟﻤﻨﺸ ﺊ اﻻﻓ‬

‫•ﻳﻤﻜﻦﺗﻌﺮﻳﻒ ﻓﺌ ﺔ دون ﻣﻨﺸﺌﻴﻦ‪.‬‬

‫ﺑﺪون أي وﺳﻴﻄﺎ ت ﻓ ﻲ اﻟﻔﺼﻞ‪.‬‬‫•ﻓ ﻲ ﻫﺬه اﻟﺤﺎﻟ ﺔ‪،‬ﻳﻮﺟﺪ ﻧﺺ ﻓﺎرغ‬


‫ﺘﻢﺗﻌﺮﻳﻒ اﻟﻤﻨﺸ ﺊ ﺿﻤﻨ ًﻴﺎ‪.‬‬
‫ﻳ‬

‫ﺘﺮاﺿ ﻲ‪.‬‬
‫•و ﻫﺬا ﻣﺎﻳ ﺴﻤﻰ اﻟﻤﻨﺸ ﺊ اﻻﻓ‬
‫ﺑﺸﻜﻞ ﺻﺮﻳﺢ ﻓ ﻲ اﻟﻔﺼﻞ‬ ‫ُﻣﻨﺸ ﺊ‪ ،‬ﻓﻘﻂ ﻻﻳﻮﺟﺪُﻣﻨﺸ ﺊ‬
‫ﺘﻢﺗﻮﻓﻴﺮهﺗﻠﻘﺎﺋ ًﻴﺎ‪.‬‬‫ﺘﻢﺗﻌﺮﻳﻔﻪ‪ ،‬ﻓ ﺴﻴ‬
‫إذا ﻟﻢﻳ‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪14‬‬
‫‪Machine Translated by Google‬‬

‫ﺘﻐﻴﺮا ت اﻟﻤﺮﺟﻌﻴ ﺔ ﻟﻠﻜﺎﺋﻦ‬


‫اﻹﻋﻼن ﻋﻦ اﻟﻤ‬
‫ﺘﻐﻴﺮا ت اﻟﻤﺮﺟﻌﻴ ﺔ ﻟﻠﻜﺎﺋﻦ(‬
‫)اﻹﻋﻼن ﻋﻦ اﻟﻤ‬
‫ﻣﺮﺟﻌﺎ‪.‬‬
‫ً‬ ‫ﺒﺮ اﻟﻜﺎﺋﻦ‬
‫ﺘ‬‫ﻟﻺﺷﺎرة إﱃ ﻛﺎﺋﻦ ﻣﺎ‪،‬ﻳﻌ‬
‫ﺘﻐﻴﺮ‪.‬‬
‫ﺘﻢﺗﻌﻴﻴﻨﻪ ﻟﻠﻤ‬‫ﻳ‬

‫ﺜﻞ ﻫﺬا‪:‬‬
‫ﺑﻨﺎء اﻟﺠﻤﻠ ﺔ ﻣ‬‫ﺘﺨﺪام‬
‫ﺘﻢ اﺳ‬
‫ﺘﻐﻴﺮ ﻣﺮﺟﻌ ﻲ‪،‬ﻳ‬
‫ﻟﻺﻋﻼن ﻋﻦ ﻣ‬

‫;‪ClassName objectRefVar‬‬

‫ﺜﺎل‪:‬‬
‫ﻣ‬
‫داﺋﺮة ﻣﺎيﺳﻴﺮﻛﻞ؛‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪15‬‬
‫‪Machine Translated by Google‬‬

‫اﻟﻜﺎﺋﻨﺎ ت ﻓ ﻲ ﺧﻄﻮة واﺣﺪة‬

‫ﺑﻼغ‪/‬اﻹﻧﺸﺎء‬
‫اﻹ‬

‫;)(‪ClassName objectRefVar = new ClassName‬‬

‫ﺗﻌﻴﻴﻦ ﻣﺮﺟﻊ اﻟﻜﺎﺋﻦ إﻧﺸﺎء ﻛﺎﺋﻦ‬


‫ﺜﺎل‪:‬‬
‫ﻣ‬
‫داﺋﺮة = ‪myCircle‬داﺋﺮة ﺟﺪﻳﺪة ؛)(‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪16‬‬
‫‪Machine Translated by Google‬‬

‫اﻟﻮﺻﻮل إﱃ أﻋﻀﺎء اﻟﻜﺎﺋﻦ‬


‫ﺑﻴﺎﻧﺎ ت اﻟﻜﺎﺋﻦ‪:‬‬‫اﻹﺷﺎرة إﱃ‬

‫‪objectRefVar.data‬‬
‫ﺜﺎل‪myCircle.radius ،‬‬
‫ﺒﻴﻞ اﻟﻤ‬
‫ﻋﲆﺳ‬

‫ﺒ ﺖ ﻟﻠﻜﺎﺋﻦ‪:‬‬
‫ﺘﺪﻋﺎء ﻃﺮﻳﻘ ﺔ اﻟ‬
‫اﺳ‬

‫‪)emaNdohtem.raVfeRtcejbo‬اﻟﻮﺳﺎﺋﻂ(‬
‫ﺜﺎل‪myCircle.getArea() ،‬‬
‫ﺒﻴﻞ اﻟﻤ‬
‫ﻋﲆﺳ‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫‪17‬‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫ﺒﻊ‬
‫ﺘ‬‫ﺘ‬‫ﺷﻔﺮة اﻟ‬
‫ﺘﺤﺮﻛ ﺔ‬
‫اﻟﺮﺳﻮم اﻟﻤ‬
‫‪Machine Translated by Google‬‬

‫ﺑﻼغ‪.‬‬
‫ﺑﺎﻹ‬
‫ﺗﻘﻮم ‪myCircle‬‬

‫داﺋﺮة = ‪myCircle‬داﺋﺮة ﺟﺪﻳﺪة ؛)‪(5.0‬‬ ‫ﻻ ﻗﻴﻤ ﺔ‬


‫‪myCircle‬‬

‫ﺗﻚ =داﺋﺮة ﺟﺪﻳﺪة)(;‬


‫ﺿﻊ داﺋﺮة ﺣﻮل داﺋﺮ‬

‫;‪yourCircle.radius = 100‬‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫‪18‬‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫ﺒﻊ‬
‫ﺘ‬‫ﺘ‬‫ﺑﻊ رﻣﺰ اﻟ‬
‫ﺗﺎ‬
‫‪Machine Translated by Google‬‬
‫ﺘﺤﺮﻛ ﺔ‬
‫اﻟﺮﺳﻮم اﻟﻤ‬

‫داﺋﺮة = ‪myCircle‬داﺋﺮة ﺟﺪﻳﺪة ؛)‪(5.0‬‬ ‫ﻻ ﻗﻴﻤ ﺔ‬


‫‪myCircle‬‬

‫ﺗﻚ =داﺋﺮة ﺟﺪﻳﺪة)(;‬


‫ﺿﻊ داﺋﺮة ﺣﻮل داﺋﺮ‬

‫;‪yourCircle.radius = 100‬‬ ‫‪:‬داﺋﺮة‬

‫ﻧﺼﻒ اﻟﻘﻄﺮ‪5.0 :‬‬

‫إﻧﺸﺎء داﺋﺮة‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪19‬‬
‫ﺒﻊ‬
‫ﺘ‬‫ﺘ‬‫ﺑﻊ رﻣﺰ اﻟ‬
‫ﺗﺎ‬
‫‪Machine Translated by Google‬‬
‫ﺘﺤﺮﻛ ﺔ‬
‫اﻟﺮﺳﻮم اﻟﻤ‬

‫داﺋﺮة = ‪myCircle‬داﺋﺮة ﺟﺪﻳﺪة ؛)‪(5.0‬‬


‫اﻟﻘﻴﻤ ﺔ اﻟﻤﺮﺟﻌﻴ ﺔ ﻟـ ‪myCircle‬‬

‫ﺗﻚ =داﺋﺮة ﺟﺪﻳﺪة)(;‬


‫ﺿﻊ داﺋﺮة ﺣﻮل داﺋﺮ‬

‫;‪yourCircle.radius = 100‬‬ ‫ﺗﻌﻴﻴﻦ ﻣﺮﺟﻊ ﻟﻜﺎﺋﻦ‬ ‫‪:‬داﺋﺮة‬


‫‪myCircle‬‬
‫ﻧﺼﻒ اﻟﻘﻄﺮ‪5.0 :‬‬

‫‪20‬‬
‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫ﺒﻊ‬
‫ﺘ‬‫ﺘ‬‫ﺑﻊ رﻣﺰ اﻟ‬
‫ﺗﺎ‬
‫ﺘﺤﺮﻛ ﺔ‬
‫اﻟﺮﺳﻮم اﻟﻤ‬
‫‪Machine Translated by Google‬‬

‫داﺋﺮة = ‪myCircle‬داﺋﺮة ﺟﺪﻳﺪة ؛)‪(5.0‬‬


‫اﻟﻘﻴﻤ ﺔ اﻟﻤﺮﺟﻌﻴ ﺔ ﻟـ ‪myCircle‬‬

‫ﺗﻚ =داﺋﺮة ﺟﺪﻳﺪة)(;‬


‫ﺿﻊ داﺋﺮة ﺣﻮل داﺋﺮ‬

‫;‪yourCircle.radius = 100‬‬ ‫‪:‬داﺋﺮة‬

‫ﻧﺼﻒ اﻟﻘﻄﺮ‪5.0 :‬‬

‫‪yourCircle‬ﻻ ﻗﻴﻤ ﺔ ﻟﻬﺎ‬

‫ﺗﻚ‬
‫إﺷﻌﺎر داﺋﺮ‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪21‬‬
‫ﺒﻊ‬
‫ﺘ‬‫ﺘ‬‫ﺑﻊ رﻣﺰ اﻟ‬
‫ﺗﺎ‬
‫‪Machine Translated by Google‬‬
‫ﺘﺤﺮﻛ ﺔ‬
‫اﻟﺮﺳﻮم اﻟﻤ‬

‫داﺋﺮة = ‪myCircle‬داﺋﺮة ﺟﺪﻳﺪة ؛)‪(5.0‬‬


‫اﻟﻘﻴﻤ ﺔ اﻟﻤﺮﺟﻌﻴ ﺔ ﻟـ ‪myCircle‬‬

‫ﺗﻚ =داﺋﺮة ﺟﺪﻳﺪة)(;‬


‫ﺿﻊ داﺋﺮة ﺣﻮل داﺋﺮ‬

‫;‪yourCircle.radius = 100‬‬ ‫‪:‬داﺋﺮة‬

‫ﻧﺼﻒ اﻟﻘﻄﺮ‪5.0 :‬‬

‫‪yourCircle‬ﻻ ﻗﻴﻤ ﺔ ﻟﻬﺎ‬

‫‪:‬داﺋﺮة‬

‫إﻧﺸﺎء ﻛﺎﺋﻦ داﺋﺮة‬


‫ﻧﺼﻒ اﻟﻘﻄﺮ‪1.0 :‬‬
‫ﺟﺪﻳﺪة‬

‫‪22‬‬
‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫ﺒﻊ‬
‫ﺘ‬‫ﺘ‬‫ﺑﻊ رﻣﺰ اﻟ‬
‫ﺗﺎ‬
‫‪Machine Translated by Google‬‬
‫ﺘﺤﺮﻛ ﺔ‬
‫اﻟﺮﺳﻮم اﻟﻤ‬

‫داﺋﺮة = ‪myCircle‬داﺋﺮة ﺟﺪﻳﺪة ؛)‪(5.0‬‬


‫اﻟﻘﻴﻤ ﺔ اﻟﻤﺮﺟﻌﻴ ﺔ ﻟـ ‪myCircle‬‬

‫ﺗﻚ =داﺋﺮة ﺟﺪﻳﺪة)(;‬


‫ﺿﻊ داﺋﺮة ﺣﻮل داﺋﺮ‬

‫;‪yourCircle.radius = 100‬‬ ‫‪:‬داﺋﺮة‬

‫ﻧﺼﻒ اﻟﻘﻄﺮ‪5.0 :‬‬

‫ﺑﻚ‬‫اﻟﻘﻴﻤ ﺔ اﻟﻤﺮﺟﻌﻴ ﺔ ﻟﺪاﺋﺮة اﻟﺨﺎص‬

‫ﺗﻌﻴﻴﻦ ﻣﺮﺟﻊ اﻟﻜﺎﺋﻦ ﻟـ‬


‫‪yourCircle‬‬ ‫‪:‬داﺋﺮة‬

‫ﻧﺼﻒ اﻟﻘﻄﺮ‪1.0 :‬‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪23‬‬
‫ﺒﻊ‬
‫ﺘ‬‫ﺘ‬‫ﺑﻊ رﻣﺰ اﻟ‬
‫ﺗﺎ‬
‫‪Machine Translated by Google‬‬
‫ﺘﺤﺮﻛ ﺔ‬
‫اﻟﺮﺳﻮم اﻟﻤ‬

‫داﺋﺮة = ‪myCircle‬داﺋﺮة ﺟﺪﻳﺪة ؛)‪(5.0‬‬


‫اﻟﻘﻴﻤ ﺔ اﻟﻤﺮﺟﻌﻴ ﺔ ﻟـ ‪myCircle‬‬

‫ﺗﻚ =داﺋﺮة ﺟﺪﻳﺪة)(;‬


‫ﺿﻊ داﺋﺮة ﺣﻮل داﺋﺮ‬

‫؛‪yourCircle.radius = 100‬‬ ‫‪:‬داﺋﺮة‬

‫ﻧﺼﻒ اﻟﻘﻄﺮ‪5.0 :‬‬

‫ﺑﻚ‬‫اﻟﻘﻴﻤ ﺔ اﻟﻤﺮﺟﻌﻴ ﺔ ﻟﺪاﺋﺮة اﻟﺨﺎص‬

‫‪:‬داﺋﺮة‬
‫ﺑﻴﺎﻧﺎ ت ﻧﺼﻒ‬ ‫ﺒﺎدل‬‫ﺗ‬
‫اﻟﻘﻄﺮ ﻓ ﻲ داﺋﺮة اﻟﺨﺎص‬ ‫ﻧﺼﻒ اﻟﻘﻄﺮ‪100.0 :‬‬

‫ﺑﻚ‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪24‬‬
‫‪Machine Translated by Google‬‬

‫ﺒﺎه‬
‫ﺘ‬‫اﻧ‬
‫ﺘﺎﻟ ﻲ‪:‬‬
‫ﺘﺪﻋﺎء إﺣﺪى اﻟﻄﺮق ﻓ ﻲ ﻓﺌ ﺔ اﻟﺮﻳﺎﺿﻴﺎ ت ﻋﲆ اﻟﻨﺤﻮ اﻟ‬
‫ﻳﻤﻜﻦ اﺳ‬

‫ﺜﺎل‪Math.pow(3, 2.5)) ،‬‬


‫ﺒﻴﻞ اﻟﻤ‬
‫)‪)Math.methodName(arguments‬ﻋﲆﺳ‬

‫ﺘﺨﺪام )(‪SimpleCircle.getArea‬‬
‫ﺑﺎﺳ‬
‫ﺑـ )(‪getArea‬‬ ‫ﺣ ﺴ ًﻨﺎ‪،‬ﻳﻤﻜﻨﻚ اﻻ‬
‫ﺗﺼﺎل‬
‫ﺘﺨﺪام اﻟﻜﻠﻤ ﺔ‬
‫ﺑﺎﺳ‬‫ﺘ ﺔ ﻣﺤﺪدة‬
‫ﺑ‬‫ﺛﺎ‬‫ﺒﻞ ﻫﺬا اﻟﻘ ﺴﻢ ﻫ ﻲ ﻃﺮق‬
‫ﺘﺨﺪﻣ ﺔ ﻗ‬
‫أﻧ ﺖ؟ اﻟﺠﻮا ب ﻫﻮ ﻻ‪ .‬ﺟﻤﻴﻊ اﻟﻄﺮق اﻟﻤ ﺴ‬
‫ﺘﺔ ‪.‬‬
‫ﺑ‬‫ﺜﺎ‬
‫اﻷﺳﺎﺳﻴ ﺔ اﻟ‬
‫ﺘﺪﻋﺎؤه ﻣﻦ ﻛﺎﺋﻦ ﻛﻤﺎﻳﻠ ﻲ ‪:‬‬
‫ﺘ ﺔ‪.‬ﻳﺠ ﺐ اﺳ‬
‫ﺑ‬‫ﺛﺎ‬‫ﻟﻜﻦ )(‪getArea‬ﻟﻴ ﺴ ﺖ‬

‫ﺜﺎل‪myCircle.getArea()). ،‬‬
‫ﺒﻴﻞ اﻟﻤ‬
‫)‪)objectRefVar.methodName(arguments‬ﻋﲆﺳ‬

‫ﺑ ﺖ واﻷﺳﺎﻟﻴ ﺐ"‪.‬‬
‫ﺜﻮا‬
‫ﺘ ﺔ واﻟ‬
‫ﺑ‬‫ﺜﺎ‬
‫ﺘﻐﻴﺮا ت اﻟ‬
‫ﺘﻮﺿﻴﺢ ﻓ ﻲ ﻗ ﺴﻢ "اﻟﻤ‬
‫ﺘﻢﺗﻘﺪﻳﻢ اﻟﻤﺰﻳﺪ ﻣﻦ اﻟ‬
‫ﺳﻴ‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪25‬‬
‫‪Machine Translated by Google‬‬

‫ﺒﻴﺎﻧﺎ ت اﻟﻤﺮﺟﻌﻴ ﺔ‬
‫ﺣﻘﻮل اﻟ‬
‫ﺘﺎﻟﻴ ﺔ ﻋﲆ‬
‫ﺘﻮي ﻓﺌ ﺔ اﻟﻄﺎﻟ ﺐ اﻟ‬
‫ﺜﺎل‪،‬ﺗﺤ‬
‫ﺒﻴﻞ اﻟﻤ‬
‫ﺒﻴﺎﻧﺎ ت أﻧﻮاﻋً ﺎ ﻣﺮﺟﻌﻴ ﺔ‪ .‬ﻋﲆﺳ‬
‫ﻳﻤﻜﻦ أنﺗﻜﻮن ﺣﻘﻮل اﻟ‬
‫ﺑﻴﺎﻧﺎ ت ﻣﻦ اﻟﻨﻮعﺳﻠ ﺴﻠ ﺔ‪.‬‬‫اﺳﻢ ﺣﻘﻞ‬
‫ﺘﻀﻤﻦ‪.‬‬
‫ﻳ‬

‫ﻃﺎﻟ ﺐ اﻟﺼﻒ اﻟﻌﺎم {‬


‫ﺘﺮاﺿﻴ ﺔ ﻓﺎرﻏ ﺔ‬
‫اﺳﻢ اﻟ ﺴﻠ ﺴﻠ ﺔ؛ ‪ //‬اﻻﺳﻢ ﻟﻪ ﻗﻴﻤ ﺔ اﻓ‬
‫ﺘﺮاﺿﻴ ﺔ ‪0‬‬
‫اﻟﻌﻤﺮ اﻟﺼﺤﻴﺢ؛ ‪ //‬اﻟﻌﻤﺮ ﻟﻪ اﻟﻘﻴﻤ ﺔ اﻻﻓ‬
‫ﺘﺮاﺿﻴ ﺔ ‪false‬‬
‫‪boolean isScienceMajor; // isScienceMajor‬ﻟﻪ اﻟﻘﻴﻤ ﺔ اﻻﻓ‬
‫ﺘﺮاﺿﻴ ﺔ '‪'\u0000‬‬
‫ﺟﻨ ﺲ ﺷﺎر؛ ‪c //‬ﻟﻪ اﻟﻘﻴﻤ ﺔ اﻻﻓ‬
‫}‬

‫‪26‬‬
‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫ﻗﻴﻤ ﺔ ﻓﺎرﻏ ﺔ‬
‫‪Machine Translated by Google‬‬

‫ﺒﻴﺎﻧﺎ ت ﻣﻦ اﻟﻨﻮع اﻟﻤﺮﺟﻌ ﻲ ﻫﻮ أي‬


‫ﺣﻘﻞ اﻟ‬
‫ﺧﺎﺻﺎ‪.‬‬
‫ً‬ ‫ﺒﻴﺎﻧﺎ ت‬
‫إذا ﻟﻢﻳﺸﻴﺮ إﱃ اﻟﻜﺎﺋﻦ‪،‬ﻳﻜﻮن ﺣﻘﻞ اﻟ‬
‫ﻟﻪ ﻗﻴﻤ ﺔ ﺣﺮﻓﻴ ﺔ )ﺧﺎﻟﻴ ﺔ(‪.‬‬

‫‪27‬‬
‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪Machine Translated by Google‬‬

‫ﺒﻴﺎﻧﺎ ت‬
‫ﺘﺮاﺿﻴ ﺔ ﻟﺤﻘﻞ اﻟ‬
‫اﻟﻘﻴﻤ ﺔ اﻻﻓ‬
‫ﺒﻴﺎﻧﺎ ت‬
‫ﺘﺮاﺿﻴ ﺔ ﻟﺤﻘﻞ اﻟ‬
‫ﻧﻮع ﻣﺮﺟﻊ اﻟﻘﻴﻤ ﺔ اﻻﻓ‬
‫ﻓﺎرﻏ ﺔ ﻟـ ‪0 ،‬ﻟﻠﻨﻮع اﻟﺮﻗﻤ ﻲ‪ ،‬وﺧﻄﺄ ﻟﻠﻨﻮع اﻟﻤﻨﻄﻘ ﻲ‪ ،‬و‬
‫ﺘﺮاﺿ ًﻴﺎ‬
‫ﺘﻢﺗﻌﻴﻴﻦ ‪Java‬اﻓ‬
‫ﺒ ﺔ ﻟﻨﻮع اﻟﺤﺮف ﻓﻬﻮ ‪"\u0000".‬وﻟﻜﻦﻳ‬‫ﺑﺎﻟﻨ ﺴ‬
‫ﺘﻐﻴﺮ ﻣﺤﻠ ﻲ داﺧﻞ إﺣﺪى اﻟﻄﺮق‪.‬‬‫ﻋﲆ ﻣ‬
‫ﻻﻳﻌﻴﻦ ﻗﻴﻤ ﺔ‪.‬‬
‫ﺒﻘ ﺔ اﻟﻌﺎﻣ ﺔ {‬
‫ﺒﺎر اﻟﻄ‬
‫ﺘ‬‫اﺧ‬
‫{ )‪public static void main(String[] args‬‬
‫اﻟﻄﺎﻟ ﺐ اﻟﻄﺎﻟ ﺐ =اﻟﻄﺎﻟ ﺐ اﻟﺠﺪﻳﺪ ؛)(‬

‫;)‪" + Student.isScienceMajor‬‬
‫‪")nltnirp.tuo.metsyS‬اﻟﺠﻨ ﺲ؟"‬
‫‪")nltnirp.tuo.metsyS‬اﻟﻌﻤﺮ؟"‬
‫;)‪+ Student.age‬‬
‫;)‪+ Student.name‬‬
‫?‪System.out.println("isScienceMajor‬‬
‫‪")nltnirp.tuo.metsyS‬اﻻﺳﻢ؟"‬

‫;)‪+ Student.gender‬‬

‫}‬
‫}‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪28‬‬
‫ﺜﺎل‬
‫ﻣ‬
‫‪Machine Translated by Google‬‬

‫ﺘﻐﻴﺮ اﻟﻤﺤﻠ ﻲ داﺧﻞ اﻟﻄﺮﻳﻘ ﺔ‬


‫‪Java‬اﻟﻤ‬
‫ﺘﺮاﺿﻴ ﺔ‪.‬‬
‫وﻻﻳﻌﻴﻦ ﻗﻴﻤ ﺔ اﻓ‬
‫ﺒﻘ ﺔ اﻟﻌﺎﻣ ﺔ {‬
‫ﺒﺎر اﻟﻄ‬
‫ﺘ‬‫اﺧ‬
‫{ )‪public static void main(String[] args‬‬
‫ﺘﺮاﺿﻴ ﺔ‬
‫ﺘﻜ ﺲ‪x // .‬ﻟﻴ ﺲ ﻟﻪ ﻗﻴﻤ ﺔ اﻓ‬
‫اﻧ‬
‫ﺘﺮاﺿﻴ ﺔ‬
‫ﺳﻠ ﺴﻠ ﺔ ص؛ ‪y //‬ﻟﻴ ﺲ ﻟﻪ ﻗﻴﻤ ﺔ اﻓ‬
‫;)‪+x‬‬
‫‪ System.out.println("x‬ﻫﻮ"‬
‫ص"(‪ System.out.println‬ﻫﻮ"‬
‫‪+‬ص(؛‬
‫}‬
‫}‬

‫ﺘﻐﻴﺮ‪.‬‬
‫ﺘﻢﺗﻬﻴﺌ ﺔ اﻟﻤ‬
‫ﺘﺮﺟﻤ ﺔ‪ :‬ﻟﻢﺗ‬
‫ﺧﻄﺄ ﻓ ﻲ اﻟ‬

‫‪29‬‬
‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪Machine Translated by Google‬‬

‫ﺒﺪاﺋﻴ ﺔ‬
‫ﺒﻴﺎﻧﺎ ت اﻟ‬
‫ﺘﻐﻴﺮا ت ﻣﻦ أﻧﻮاع اﻟ‬
‫ﺘﻮي ﻋﲆ ﻣ‬
‫ﻛﺎﺋﻦﻳﺤ‬
‫ﺑﻴﻦ اﻷﻧﻮاع‬‫ﺘﻼﻓﺎ ت‬
‫اﻻﺧ‬

‫ﺘﺨﺪام داﺋﺮة ﺟﺪﻳﺪة )(‬


‫ﺑﺎﺳ‬‫ﺗﻢ إﻧﺸﺎؤ ﻫﺎ‬

‫ﺒﺪاﺋ ﻲ ‪int i = 1‬‬


‫اﻟﻨﻮع اﻟ‬ ‫أﻧﺎ‬ ‫واﺣﺪ‬

‫ﻧﻮع اﻟﻜﺎﺋﻦ‬ ‫اﻟﺪاﺋﺮة ج‬ ‫ج‬ ‫ﻣﺮﺟﻊ‬ ‫ج‪ :‬داﺋﺮة‬

‫ﻧﺼﻒ اﻟﻘﻄﺮ ‪= 1‬‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪30‬‬
‫‪Machine Translated by Google‬‬

‫ﺒﺪاﺋﻴ ﺔ وأﻧﻮاع اﻟﻜﺎﺋﻨﺎ ت‬


‫ﺒﻴﺎﻧﺎ ت اﻟ‬
‫أﻧﻮاع اﻟ‬

‫ﺘﻐﻴﺮا ت‬
‫ﻧ ﺴﺦ اﻟﻤ‬

‫ﺒﺪاﺋ ﻲ ‪i = j‬‬
‫ﺗﻌﻴﻴﻦ اﻟﻨﻮع اﻟ‬

‫ﺒﻞ أن‪:‬‬
‫ﺒﻞ ‪-‬ﻗ‬
‫ﻗ‬ ‫ﻻﺣﻘﺎً‪:‬‬

‫أﻧﺎ‬ ‫واﺣﺪ‬
‫أﻧﺎ‬ ‫‪2‬‬

‫ﺗﻌﻴﻴﻦ ﻧﻮع اﻟﻜﺎﺋﻦ ‪c1 = c2‬‬ ‫‪2‬‬


‫ي‬ ‫ي‬
‫‪2‬‬

‫ﺒﻞ أن‪:‬‬
‫ﺒﻞ ‪-‬ﻗ‬
‫ﻗ‬
‫ﻻﺣﻘﺎً‪:‬‬

‫ج‪1‬‬ ‫ج‪1‬‬

‫ج‪2‬‬ ‫ج‪2‬‬

‫ج‪ :1‬اﻟﺪاﺋﺮة‬ ‫ج‪ :2‬اﻟﺪاﺋﺮة‬ ‫ج‪ :2‬اﻟﺪاﺋﺮة‬


‫ج‪ :1‬اﻟﺪاﺋﺮة‬

‫ﻧﺼﻒ اﻟﻘﻄﺮ ‪= 5‬‬ ‫ﻧﺼﻒ اﻟﻘﻄﺮ ‪= 9‬‬ ‫ﻧﺼﻒ اﻟﻘﻄﺮ ‪= 9‬‬


‫ﻧﺼﻒ اﻟﻘﻄﺮ ‪= 5‬‬

‫‪31‬‬
‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫ﺟﻤﻊ اﻟﻘﻤﺎﻣ ﺔ‬
‫‪Machine Translated by Google‬‬

‫ﺟﻤﻊ اﻟﻘﻤﺎﻣ ﺔ‬

‫ﺑﻖ‬
‫‪• c1 = c2‬ﻛﻤﺎ ﻫﻮ ﻣﻮﺿﺢ ﻓ ﻲ اﻟﺸﻜﻞ اﻟ ﺴﺎ‬
‫ﺑﻴﺎن اﻟﻤﻬﻤ ﺔ‬‫ﺑﻌﺪ‬
‫ﺑﻮاﺳﻄ ﺔ ‪c1، c2‬‬
‫ﻳﺸﻴﺮ إﱃ ﻧﻔ ﺲ اﻟﻜﺎﺋﻦ اﻟﻤﺸﺎر إﻟﻴﻪ‪.‬‬
‫ﺑﻮاﺳﻄ ﺔ ‪c1‬‬‫ﺒﻘ ﺖ اﻹﺷﺎرة إﻟﻴﻪ‬
‫•ﺳ‬
‫ُﻌﺮف ﻫﺬا اﻟﻜﺎﺋﻦ‬
‫ﺘﻢ اﻟﺮﺟﻮع إﱃ اﻟﻜﺎﺋﻦ‪• .‬ﻳ‬
‫ﻟﻢﻳﻌﺪﻳ‬
‫ﺑﻮاﺳﻄ ﺔ‬‫ﺒﻴﺎﻧﺎ ت اﻟﻤﻬﻤﻠ ﺔﺗﻠﻘﺎﺋ ًﻴﺎ‬
‫ﺘﻢ ﺟﻤﻊ اﻟ‬
‫ﺑﺎﻟﻘﻤﺎﻣ ﺔ‪.‬ﻳ‬
‫‪JVM.‬‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪32‬‬
‫‪Machine Translated by Google‬‬

‫ﺘﻤﺮار ﺟﻤﻊ اﻟﻘﻤﺎﻣ ﺔ‬


‫اﺳ‬

‫ﺗﻠﻤﻴﺢ‪ :‬ﻟﻢﺗﻌﺪ ﻫﻨﺎك ﺣﺎﺟ ﺔ إﱃ ﻛﺎﺋﻦ‪.‬‬


‫إذا ﻋﻠﻤ ﺖ أن اﻟﺸ ﻲء ﻏﻴﺮ ﻣ ﺴﻤﻮع‪،‬‬
‫ﺘﻐﻴﺮ اﻟﻤﺮﺟﻌ ﻲ ‪ .‬أي ﻛﺎﺋﻦ‬
‫ﺑﺸﻜﻞ ﺻﺮﻳﺢ ﻟﻠﻤ‬
‫ﻳﻤﻜﻨﻚﺗﻌﻴﻴﻦ ‪null‬‬

‫ﺘﻐﻴﺮ‬
‫ﺑﻮاﺳﻄ ﺔ ﻣ‬‫ﺘﻢ اﻹﺷﺎرة إﻟﻴﻪ‬
‫ﻣﺎ ﻟﻢﺗ‬
‫ﺘﺤﺮﻳﺮ ﻣ ﺴﺎﺣ ﺔ اﻟﺬاﻛﺮة‬
‫ﺑ‬‫ﺗﻠﻘﺎﺋ ًﻴﺎ‬
‫ﻳﻘﻮم ‪JVM‬‬
‫ﺳﻮفﻳﺠﻤﻊ‪.‬‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪33‬‬
‫‪Machine Translated by Google‬‬

‫ﺘﺎرﻳﺦ‬
‫ﻓﺌ ﺔ اﻟ‬

‫ﺘﻘﻞ ﻋﻦ اﻟﻨﻈﺎم ﻓ ﻲ ﻓﺌ ﺔ ‪java.util.Date.‬‬


‫ﺑﺸﻜﻞ ﻣ ﺴ‬‫ﺘﺎرﻳﺦ واﻟﻮﻗ ﺖ‬
‫ﺑﻌﺮض اﻟ‬
‫ﺗ ﺴﻤﺢ ‪Java‬‬
‫ﺘﺎرﻳﺦ واﻟﻮﻗ ﺖ اﻟﺤﺎﻟﻴﻴﻦ‬ ‫ﺜﺎل ﻋﲆ اﻟ‬ ‫ﺘﻐﻠﻴﻒ‪ .‬ﻣ‬ ‫ﺑﺎﻟ‬‫ﻳ ﺴﻤﺢ‬
‫ﺘﺎرﻳﺦ واﻟﻮﻗ ﺖ ﻛ ﺴﻠ ﺴﻠ ﺔ‪.‬‬‫ﺘﺎرﻳﺦ ﻹﻧﺸﺎء اﻟ‬
‫ﺘﺨﺪام ﻓﺌ ﺔ اﻟ‬
‫ﻳﻤﻜﻨﻚ اﺳ‬
‫ﺗﻪ‪.‬‬‫ﺘﺨﺪام ﻃﺮﻳﻘ ﺔ ‪toString‬ﻹﻋﺎد‬ ‫ﻳﻤﻜﻨﻚ اﺳ‬

‫‪java.util.Date‬‬
‫ﺘﻮﻗﻴﻊ ﻋﺎم‬‫‪+‬اﻟ‬
‫وﻳﻌﻨ ﻲ اﻟﻤﺆﺷﺮ‪.‬‬ ‫ﺘﺎرﻳﺦ)(‬
‫‪+‬اﻟ‬ ‫ﺑﺈﻧﺸﺎء ﻛﺎﺋﻦﺗﺎرﻳﺦ ﻟﻠﻮﻗ ﺖ اﻟﺤﺎﻟ ﻲ‪.‬‬‫ﻳﻘﻮم‬

‫ﺘﺎرﻳﺦ )اﻟﻮﻗ ﺖ اﻟﻤﻨﻘﻀ ﻲ‪ :‬ﻃﻮﻳﻞ(‬


‫‪+‬اﻟ‬ ‫ﺘ ﺶ‪.‬‬
‫ﺘﻮﻗﻴ ﺖ ﺟﺮﻳﻨ‬
‫ﺑ‬‫ﺛﺎﻧﻴ ﺔ‪ ،‬ﻣﻨﺬ ‪1‬ﻳﻨﺎﻳﺮ ‪1970‬‬‫ﺑﺎﻟﻤﻠﻠ ﻲ‬‫ﺘﺮة زﻣﻨﻴ ﺔ ﻣﺤﺪدة‪،‬‬
‫إﻧﺸﺎء ﻛﺎﺋﻦﺗﺎرﻳﺦ ﻟﻔ‬

‫ﺘﺎرﻳﺦ واﻟﻮﻗ ﺖ‪.‬‬


‫ﺜﻞ اﻟ‬
‫إرﺟﺎعﺳﻠ ﺴﻠ ﺔﺗﻤ‬
‫‪+toString ():‬ﺳﻠ ﺴﻠ ﺔ‬
‫ﺘ ﺶ‪.‬‬
‫ﺘﻮﻗﻴ ﺖ ﺟﺮﻳﻨ‬
‫ﺑ‬‫ﺛﺎﻧﻴ ﺔ ﻣﻨﺬ ‪1‬ﻳﻨﺎﻳﺮ ‪1970‬‬‫إرﺟﺎع ﻋﺪد اﻟﻤﻠﻠ ﻲ‬
‫‪+getTime () :‬ﻃﻮﻳﻞ‬

‫ﺑﺎﻃﻞ‬
‫‪+setTime(elapseTime:‬‬
‫‪ long):‬ﺖ اﻟﻤﻨﻘﻀ ﻲ اﻟﺠﺪﻳﺪ ﻋﲆ اﻟﻜﺎﺋﻦ‪.‬‬
‫ﺒﻂ اﻟﻮﻗ‬
‫ﻳﻀ‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪34‬‬
‫ﺘﺎرﻳﺦ‬
‫ﺜﺎل ﻓﺌ ﺔ اﻟ‬
‫ﻣ‬
‫‪Machine Translated by Google‬‬

‫;)(‪java.util.Date date = new java.util.Date‬‬


‫;))(‪System.out.println(date.toString‬‬

‫ﺜﻞ ﻫﺬه‪:‬‬
‫ﺜﺎل‪،‬ﺳﻴﻌﺮض اﻟﻜﻮد أﻋﻼهﺳﻠ ﺴﻠ ﺔ ﻣ‬
‫ﺒﻴﻞ اﻟﻤ‬
‫ﻋﲆﺳ‬

‫ﺘﺤﺪة ‪2003.‬‬
‫ﺘﻮﻗﻴ ﺖ ﺷﺮق اﻟﻮﻻﻳﺎ ت اﻟﻤ‬
‫ﺑ‬‫اﻷﺣﺪ ‪09‬ﻣﺎرس ‪13:50:19‬‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪35‬‬
‫‪Machine Translated by Google‬‬

‫ﻓﺌ ﺔ ﻋﺸﻮاﺋﻴ ﺔ‬
‫ﺑﻴﻦ ‪0.0‬و ‪1.0‬‬‫ﺘﺨﺪام )(‪Math.random‬ﻟﻠﺤﺼﻮل ﻋﲆ زوج ﻋﺸﻮاﺋ ﻲ ﻣﻦ اﻟﻘﻴﻢ‬
‫ﻳﻤﻜﻨﻚ اﺳ‬
‫ﺜﻨﺎء ‪1.0) .‬‬
‫ﺘ‬‫ﺑﺎﺳ‬
‫)‬
‫ﺜﺮ ﻓﺎﺋﺪة ﻓ ﻲ ﻓﺌ ﺔ ‪java.util.Random.‬‬
‫ﺘﻢﺗﻮﻓﻴﺮ ﻣﻨﺸ ﺊ أرﻗﺎم ﻋﺸﻮاﺋﻴ ﺔ أﻛ‬
‫ﻳ‬

‫‪java.util.Random‬‬

‫ﺗﻪ ﻫ ﻲ اﻟﻮﻗ ﺖ اﻟﺤﺎﻟ ﻲ‪.‬‬


‫ﺑﺬر‬‫ﻲ)( ﻋﺸﻮاﺋ ًﻴﺎﺗﻜﻮن‬
‫‪+‬ﻋﺸﻮاﺋﻛﺎﺋﻨًﺎ‬
‫ﻳﻨﺸ ﺊ‬
‫‪+nextInt(): int +nextInt(n: int): int +nextLong():‬ﻃﻮﻳﻞ ‪+nextDouble():‬ﻣﺰدوج ‪+nextBoolean():‬‬ ‫ﻳﻞ(‬
‫ﺬرة ﻣﺤﺪدة‪.‬‬‫ﺒ‬
‫ﺑ‬‫ﻃﻮ‬ ‫ﺑﺬرة‪:‬‬
‫ﻋﺸﻮاﺋ ًﻴﺎ‬ ‫ﻛﺎﺋﻨﻲًﺎ )‬
‫ﻋﺸﻮاﺋ‬ ‫‪+‬‬
‫ﻳﻨﺸ ﺊ‬

‫ﺜﻨﺎء(‪.‬‬
‫ﺘ‬‫ﺑﺎﺳ‬
‫ﺑﻴﻦ ‪0‬و‪) n‬‬‫ُﺮﺟﻊ ﻗﻴﻤ ﺔ ﻋﺸﻮاﺋﻴ ﺔ ﻋﺸﻮاﺋﻴ ﺔ‬
‫ﺋﻴﻲﺔ‪.‬ﺗ‬
‫ﻣﻨﻄﻘ‬
‫‪+nextFloat():‬ﻋﺸﻮا‬ ‫‪float‬‬
‫ﺑﺈرﺟﺎع ﻗﻴﻤ ﺔ ‪int‬‬ ‫ﺗﻘﻮم‬

‫ﺑﻴﻦ ‪0.0‬و‪) 0.1‬ﺣﺼﺮﻳًﺎ(‪.‬‬‫ُﺮﺟﻊ ﻗﻴﻤ ﺔ ﻣﺰدوﺟ ﺔ ﻋﺸﻮاﺋﻴ ﺔ‬


‫إرﺟﺎع ﻗﻴﻤ ﺔ ﻃﻮﻳﻠ ﺔ ﻋﺸﻮاﺋﻴ ﺔ‪.‬ﺗ‬

‫ﺑﻴﻦ ‪0.0F‬و‪) F0.1‬ﺣﺼﺮﻳًﺎ(‪.‬‬‫ُﺮﺟﻊ ﻗﻴﻤ ﺔ اﻟﻨﻘﻄ ﺔ اﻟﻌﺎﺋﻤ ﺔ اﻟﻌﺸﻮاﺋﻴ ﺔ‬


‫ﺗ‬

‫ﺑﺈرﺟﺎع ﻗﻴﻤ ﺔ ﻣﻨﻄﻘﻴ ﺔ ﻋﺸﻮاﺋﻴ ﺔ‪.‬‬‫ﺗﻘﻮم‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪36‬‬
‫‪Machine Translated by Google‬‬

‫ﺘﺨﺪام ﻓﺌ ﺔ ﻋﺸﻮاﺋﻴ ﺔ‬
‫ﺑﺎﺳ‬

‫ﺒﺬرة‪ ،‬ﻧﻔ ﺲ اﻟﻌﺪد‬


‫إذا ﻛﺎن ﻫﻨﺎك ﻛﺎﺋﻨﻴﻦ ﻋﺸﻮاﺋﻴﻴﻦ ﻟﻬﻤﺎ ﻧﻔ ﺲ اﻟ‬
‫ﺒﺬرة‬
‫ﺘﺎﻟﻴ ﺔ ﻫ ﻲ ﻧﻔ ﺲ اﻟ‬
‫ﺒﺮﻣﺠﻴ ﺔ اﻟ‬
‫ﺘﻌﻠﻴﻤ ﺔ اﻟ‬
‫ﺜﺎل‪ ،‬اﻟ‬
‫ﺒﻴﻞ اﻟﻤ‬
‫ﺘﺠﻮن ﻣ ﺴﻠ ﺴﻼ تﺗﻠﻔﺰﻳﻮﻧﻴ ﺔ‪ .‬ﻋﲆﺳ‬
‫ﺳﻮفﻳﻨ‬

‫ﺘﺨﺪام ‪3.‬‬
‫ﺑﺎﺳ‬‫إﻧﺸﺎء ﻛﺎﺋﻨﻴﻦ ﻋﺸﻮاﺋﻴﻴﻦ‬
‫ﻋﺸﻮاﺋ ﻲ ﻋﺸﻮاﺋ ﻲ = ‪1‬ﻋﺸﻮاﺋ ﻲ ﺟﺪﻳﺪ ؛)‪(3‬‬

‫نم"(‪System.out.print‬ﻋﺸﻮاﺋ ﻲ ;)"‪1:‬‬
‫ﻟـ )‪(int i = 0; i < 10; i++‬‬
‫;)""‬
‫)‪System.out.print(random1.nextInt(1000‬‬ ‫‪+‬‬
‫ﻋﺸﻮاﺋ ﻲ ﻋﺸﻮاﺋ ﻲ = ‪2‬ﻋﺸﻮاﺋ ﻲ ﺟﺪﻳﺪ ؛)‪(3‬‬

‫نم‪System.out.print("\n‬ﻋﺸﻮاﺋ ﻲ‪;(":2‬‬
‫ﻟـ )‪(int i = 0; i < 10; i++‬‬
‫;)""‬
‫)‪System.out.print(random2.nextInt(1000‬‬ ‫‪+‬‬

‫ﻣﻦ ﻋﺸﻮاﺋ ﻲ ‪1: 734 660 210 581 128 202 549 564 459 961‬‬

‫ﻣﻦ اﻟﻌﺸﻮاﺋﻴ ﺔ ‪2: 734 660 210 581 128 202 549 564 459 961‬‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪37‬‬
‫‪Machine Translated by Google‬‬

‫ﻓﺌ ﺔ ‪Point2D‬‬
‫ﺑﻌﺎد‬
‫ﺛﻨﺎﺋ ﻲ اﻷ‬
‫‪Java API‬ﻓ ﻲ اﻟﺤﺰﻣ ﺔ ‪javafx.geometry،‬‬
‫ﺘﻮى ‪.‬‬
‫ﺜﻴﻞ ﻧﻘﻄ ﺔ ﻓ ﻲ اﻟﻤ ﺴ‬
‫ﺘﻤ‬‫ﺘﻮي ﻋﲆ ﻓﺌ ﺔ ‪Point2D‬ﻣﻔﻴﺪة ﻟ‬
‫ﻳﺤ‬

‫ﺛﻴﺎ ت ‪x‬و‪ y‬اﻟﻤﺤﺪدة‪.‬‬


‫ﺑﺈﺣﺪا‬
‫إﻧﺸﺎء ﻛﺎﺋﻦ ‪Point2D‬‬

‫ﺑﻴﻦ ﻫﺬه اﻟﻨﻘﻄ ﺔ واﻟﻨﻘﻄ ﺔ اﻟﻤﺤﺪدة ‪(x، y).‬‬‫إرﺟﺎع اﻟﻤ ﺴﺎﻓ ﺔ‬

‫ﺑﻴﻦ ﻫﺬه اﻟﻨﻘﻄ ﺔ واﻟﻨﻘﻄ ﺔ اﻟﻤﺤﺪدة ص‪.‬‬‫إرﺟﺎع اﻟﻤ ﺴﺎﻓ ﺔ‬


‫ﺛ ﻲ ‪x‬ﻣﻦ ﻫﺬه اﻟﻨﻘﻄ ﺔ‪.‬‬
‫إرﺟﺎع إﺣﺪا‬

‫ﺛ ﻲ ‪y‬ﻣﻦ ﻫﺬه اﻟﻨﻘﻄ ﺔ‪.‬‬


‫إرﺟﺎع إﺣﺪا‬

‫ﺑﻴﻦ ﻫﺬه اﻟﻨﻘﻄ ﺔ واﻟﻨﻘﻄ ﺔ ص‪.‬‬‫ﺘﺼﻒ‬


‫إرﺟﺎع ﻧﻘﻄ ﺔ اﻟﻤﻨ‬

‫ﺜﻴﻞ اﻟ ﺴﻠ ﺴﻠ ﺔ ﻟﻠﻨﻘﻄ ﺔ‪.‬‬


‫إرﺟﺎعﺗﻤ‬

‫ﺒﺎر‪D2‬ﻳﺠﺮي‬
‫ﺘ‬‫ﻧﻘﻄ ﺔ اﻻﺧ‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪38‬‬
‫‪Machine Translated by Google‬‬

‫ﺘﻐﻴﺮا ت اﻟﻜﺎﺋﻦ واﻷﺳﺎﻟﻴ ﺐ‬


‫ﻣ‬
‫ﺜﻴﻞ واﻷﺳﺎﻟﻴ ﺐ‬
‫ﺘﻐﻴﺮا ت اﻟﻤ‬
‫ﻣ‬

‫ﺘﻢﺗﻌﺮﻳﻒ أﺳﺎﻟﻴ ﺐ اﻟﻜﺎﺋﻦ‬


‫ﺘﻤ ﻲ إﱃ ﻛﺎﺋﻦ ﻣﻌﻴﻦ‪• .‬ﻳ‬
‫ﺘﻐﻴﺮا ت اﻟﻜﺎﺋﻦﺗﻨ‬
‫•ﻣ‬
‫ﺑﻮاﺳﻄ ﺔ ﻛﺎﺋﻦ ﻣﻦ اﻟﻔﺌ ﺔ‪.‬‬
‫ﻳ ﺴﻤﻰ‪.‬‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪39‬‬
‫‪Machine Translated by Google‬‬

‫ﺑ ﺖ واﻷﺳﺎﻟﻴ ﺐ‬
‫ﺜﻮا‬
‫ﺘ ﺔ واﻟ‬
‫ﺑ‬‫ﺜﺎ‬
‫ﺘﻐﻴﺮا ت اﻟ‬
‫اﻟﻤ‬

‫ﺜﻴﻼ ت )ﻛﺎﺋﻨﺎ ت( اﻟﻔﺌ ﺔ‪.‬‬


‫ﺑﻮاﺳﻄ ﺔ ﻛﺎﻓ ﺔ ﻣ‬‫ﺘﺔ‬
‫ﺑ‬‫ﺜﺎ‬
‫ﺘﻐﻴﺮا ت اﻟ‬
‫ﺘﻢ ﻣﺸﺎرﻛ ﺔ اﻟﻤ‬
‫ﺗ‬‫•‬

‫ﺑﻜﺎﺋﻦ ﻣﻌﻴﻦ‪.‬‬‫ﺒﻄ ﺔ‬
‫ﺗ‬‫ﺘ ﺔ ﻟﻴ ﺴ ﺖ ﻣﺮ‬
‫ﺑ‬‫ﺜﺎ‬
‫•اﻷﺳﺎﻟﻴ ﺐ اﻟ‬

‫ﺜﻴﻼ ت اﻟﻔﺌ ﺔ‪.‬‬


‫ﺘ ﺔ ﻣﻦ ﺧﻼل ﻛﺎﻓ ﺔ ﻣ‬
‫ﺑ‬‫ﺜﺎ‬
‫ﺑ ﺖ اﻟ‬
‫ﺜﻮا‬
‫ﺘﻌﺮف ﻋﲆ اﻟ‬
‫ﺘﻢ اﻟ‬
‫•ﻳ‬

‫ﺘﺮﻛ ﺔ‪.‬‬
‫ﺘ ﺔ )ﻧﻬﺎﺋﻴ ﺔ( ﻣﺸ‬
‫ﺑ‬‫ﺛﺎ‬‫ﺘﻐﻴﺮا ت‬
‫وﻫ ﻲ ﻣ‬

‫‪40‬‬
‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪Machine Translated by Google‬‬

‫ﺑ ﺖ واﻷﺳﺎﻟﻴ ﺐ‬
‫ﺜﻮا‬
‫ﺘ ﺔ واﻟ‬
‫ﺑ‬‫ﺜﺎ‬
‫ﺘﻐﻴﺮا ت اﻟ‬
‫ﺑﻊ اﻟﻤ‬
‫ﺗﺎ‬

‫ﺑ ﺖ واﻷﺳﺎﻟﻴ ﺐ‬
‫ﺜﻮا‬ ‫ﺘ ﺔ واﻟ‬
‫ﺑ‬‫ﺜﺎ‬‫ﺘﻐﻴﺮا ت اﻟ‬
‫اﻹﻋﻼن ﻋﻦ اﻟﻤ‬
‫ﺑ ﺖ" ﻟـ ‪.‬‬ ‫ﺜﺎ‬‫ﺘﺨﺪام اﻟﻤﺤﺪد "اﻟ‬
‫ﺘﻢ اﺳ‬
‫ﻳ‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪41‬‬
‫‪Machine Translated by Google‬‬

‫ﺑ ﺖ واﻷﺳﺎﻟﻴ ﺐ‬
‫ﺜﻮا‬
‫ﺘ ﺔ واﻟ‬
‫ﺑ‬‫ﺜﺎ‬
‫ﺘﻐﻴﺮا ت اﻟ‬
‫ﺑﻊ اﻟﻤ‬
‫ﺗﺎ‬

‫ﺑﺖ‬
‫ﺜﺎ‬
‫ﺘﻐﻴﺮ اﻟ‬
‫ﺑﻌﺪ إﻧﺸﺎء ﻛﺎﺋﻨ ﻲ اﻟﺪاﺋﺮة‪،‬ﻳﺄﺧﺬ اﻟﻤ‬
‫ﺘ ﺔ‪.‬‬
‫ﺑ‬‫ﺜﺎ‬
‫ﺘﻐﻴﺮا ت واﻷﺳﺎﻟﻴ ﺐ اﻟ‬
‫ﺗﻢ وﺿﻊ ﺧﻂﺗﺤ ﺖ اﻟﻤ‬
‫ﺗﺪوﻳﻦ ‪UML:‬‬ ‫‪numberOfObjects‬اﻟﻘﻴﻤ ﺔ ‪2.‬‬

‫ﺘﺸﻴ ﻲء‬
‫اﻟ‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪42‬‬
‫‪Machine Translated by Google‬‬

‫ﺘﻐﻴﺮا ت اﻟﻜﺎﺋﻦ واﻟﻔﺌ ﺔ و‬


‫ﻣ‬
‫ﺘﺨﺪام اﻷﺳﺎﻟﻴ ﺐ‬
‫ﺜﺎل ﻋﲆ اﺳ‬
‫ﻣ‬

‫ﺘﻐﻴﺮا ت اﻟﻜﺎﺋﻦ واﻟﻔﺌ ﺔ‬


‫اﻟﻐﺮض‪ :‬ﻣ‬
‫ﺜﺎل ﻛﺎﺋﻨﺎ ت اﻟﺪاﺋﺮة‬
‫ﺗﻬﺎ‪.‬ﻳﻮﺿﺢ ﻫﺬا اﻟﻤ‬
‫ﺘﺨﺪاﻣﺎ‬
‫إﻇﻬﺎر أدوار ﻫﺎ واﺳ‬
‫ﺘ ﻲﺗﻢ إﻧﺸﺎؤ ﻫﺎ‬
‫اﻟ‬
‫ﺒﻊ اﻟﺮﻗﻢ‬
‫ﺘ‬‫ﺘ‬‫‪numberOfObjects‬ﻟ‬
‫ﺘﻐﻴﺮ اﻟﻔﺌ ﺔ‪.‬‬
‫ﻳﻀﻴﻒ ﻣ‬

‫ﺘﻴﻦ‬
‫ﺑ‬‫ﺛﺎ‬‫داﺋﺮة ﻣﻊ أﻋﻀﺎء‬

‫‪TestCircleWithStaticMembers‬‬ ‫ﻳﺠﺮي‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪43‬‬
‫‪Machine Translated by Google‬‬

‫ّﻻ ت‬
‫ّﻻ ت اﻟﺮؤﻳ ﺔ واﻟﻤﻠﺤﻘﺎ ت‪/‬اﻟﻤﻌﺪ‬
‫ﻣﻌﺪ‬
‫ُﻃ ﺮق‬
‫ﺗﻮر‬
‫ّﻻ ت اﻟﺮؤﻳ ﺔ وﻃﺮق اﻟﻮﺻﻮل‪/‬اﻟﻤﻮ‬
‫ﻣﻌﺪ‬

‫ﺑﻮاﺳﻄ ﺔ أي ﻓﺌ ﺔ ﻓ ﻲ‬‫ﺘﻐﻴﺮ أو اﻟﻄﺮﻳﻘ ﺔ‬


‫ﺘﺮاﺿ ﻲ‪،‬ﻳﻤﻜﻦ اﻟﻮﺻﻮل إﱃ اﻟﻔﺌ ﺔ أو اﻟﻤ‬
‫ﺑﺸﻜﻞ اﻓ‬
‫ﻧﻔ ﺲ اﻟﺤﺰﻣ ﺔ‪.‬‬

‫ﺋﻴ ﺔﻷي ﻓﺌ ﺔ ﻓ ﻲ أي ﺣﺰﻣ ﺔ ‪.‬‬


‫ﺒﻴﺎﻧﺎ ت أو اﻟﻄﺮﻳﻘ ﺔ ﻣﺮ‬
‫ﻋﺎم اﻟﻔﺌ ﺔ أو اﻟ‬

‫ﺑﺎﻹﻋﻼن‪• .‬‬‫ﺒﻴﺎﻧﺎ ت أو اﻷﺳﺎﻟﻴ ﺐ اﻟﺨﺎﺻ ﺔ إﻻ ﻣﻦ ﺧﻼل اﻟﻔﺼﻞ اﻟﺬيﻳﻘﻮم‬


‫ﻻﻳﻤﻜﻦ اﻟﻮﺻﻮل إﱃ اﻟ‬

‫ﺘﺨﺪام اﻟﺨﺼﺎﺋﺺ اﻟﺨﺎﺻ ﺔ‬


‫ﺒﻂ ﻃﺮق اﻟﻘﺮاءة واﺳ‬
‫اﻟﺤﺼﻮل ﻋﲆ وﺿ‬

‫ﺘﻐﻴﻴﺮ‪.‬‬
‫ﺘﺨﺪم ﻟﻠ‬
‫ﻳﺴ‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪44‬‬
‫‪Machine Translated by Google‬‬

‫ﻟﻠﻮﺻﻮل‬ ‫ﺘﺪﻋﺎء‬
‫اﺳ‬

‫•ﻳﺤﺪ اﻟﻤﻌﺪل اﻟﺨﺎص ﻣﻦ اﻟﻮﺻﻮل إﱃ اﻟﻔﺼﻞ اﻟﺪراﺳ ﻲ‪.‬‬

‫ﺘﺮاﺿ ﻲﻳﺤﺪ ﻣﻦ اﻟﻮﺻﻮل إﱃ داﺧﻞ اﻟﺤﺰﻣ ﺔ‪.‬‬


‫•اﻟﻤﻌﺪل اﻻﻓ‬

‫ﺘﻴﺢ اﻟﻤﻌﺪل اﻟﻌﺎم اﻟﻮﺻﻮل ﻏﻴﺮ اﻟﻤﻘﻴﺪ‪.‬‬


‫•ﻳ‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪45‬‬
‫‪Machine Translated by Google‬‬

‫ﺘﺮاﺿ ﻲ ﻟﻠﻔﺌ ﺔﻳﺤﺪ ﻣﻦ اﻟﻮﺻﻮل إﻟﻴﻬﺎ داﺧﻞ اﻟﺤﺰﻣ ﺔ ‪.‬‬


‫•اﻟﻤﻌﺪل اﻻﻓ‬

‫ﺑﺎﻟﻮﺻﻮل ﻏﻴﺮ اﻟﻤﻘﻴﺪ‪.‬‬‫•ﻳ ﺴﻤﺢ اﻟﻤﻌﺪل اﻟﻌﺎم ﻟﻠﻔﺼﻞ‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪46‬‬
‫‪Machine Translated by Google‬‬

‫ﻣﻠﺤﻮﻇ ﺔ‬

‫ﺘﻤﻜﻦ ﻣﻦ اﻟﻮﺻﻮل إﱃ أﻋﻀﺎﺋﻪ‬


‫•ﻛﻤﺎ ﻫﻮ ﻣﻮﺿﺢ ﻓ ﻲ ) ب(‪ ،‬إذاﺗﻢ إﻧﺸﺎء ﻛﺎﺋﻦ داﺧﻞ ﻓﺌ ﺔ أﺧﺮى‪ ،‬ﻓﻠﻦﻳ‬
‫اﻟﺨﺎﺻﻴﻦ‪.‬‬
‫ﺘﻪ اﻟﺨﺎﺻ ﺔ ﻛﻤﺎ ﻫﻮ ﻣﻮﺿﺢ ﻓ ﻲ )أ(‪ ،‬ﻓﻼﺗﻮﺟﺪ ﻣﺸﻜﻠ ﺔ ﻓ ﻲ‬
‫•وﻣﻊ ذﻟﻚ‪ ،‬إذاﺗﻢ اﻹﻋﻼن ﻋﻦ اﻟﻜﺎﺋﻦ ﻓ ﻲ ﻓﺌ‬
‫اﻟﻮﺻﻮل إﱃ اﻷﻋﻀﺎء اﻟﺨﺎﺻﻴﻦ‪.‬‬
‫ﺘﺨﺪامﺻﺤﻴﺢ‬
‫ﺻﺤﻴﺢ‬ ‫ﺘﺨﺪام ﻏﻴﺮ‬
‫ﺳاﻻﺳ‬‫ﺬاﻫاﻻ‬
‫ﺬا‬ ‫ﻫو‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪47‬‬
‫‪Machine Translated by Google‬‬

‫ﺒﻴﺎﻧﺎ ت ﺧﺎﺻ ﺔ؟‬


‫ﻟﻤﺎذاﻳﺠ ﺐ أنﺗﻜﻮن ﺣﻘﻮل اﻟ‬

‫ﺒﻴﺎﻧﺎ ت‪.‬‬
‫•ﻟﺤﻤﺎﻳ ﺔ اﻟ‬

‫ﺒﺮﻣﺠﻴ ﺔ‪.‬‬
‫ﺘﻌﻠﻴﻤﺎ ت اﻟ‬
‫ﺘ ﺴﻬﻴﻞ ﺻﻴﺎﻧ ﺔ اﻟ‬
‫•ﻟ‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪48‬‬
‫‪Machine Translated by Google‬‬

‫ﺒﻴﺎﻧﺎ ت‬
‫ﺜﺎل ﻋﲆﺗﻐﻠﻴﻒ ﺣﻘﻞ اﻟ‬
‫ﻣ‬
‫ﺒﻴﺎﻧﺎ ت(‬
‫ﺗﻐﻠﻴﻒ ﺣﻘﻞ اﻟ‬
‫)‬

‫داﺋﺮة‬
‫ﺗﺸﻴﺮ اﻟﻌﻼﻣ ﺔ إﱃ ﻣﻌﺪل‬
‫‪-‬ﻧﺼﻒ اﻟﻘﻄﺮ‪ :‬ﻣﺰدوج‬ ‫ﺘﺮاﺿ ﻲ‪1.0). :‬‬
‫ﻧﺼﻒ ﻗﻄﺮ ﻫﺬه اﻟﺪاﺋﺮة )اﻻﻓ‬
‫ﺧﺎص ‪.‬‬
‫‪-‬ﻋﺪد اﻟﻜﺎﺋﻨﺎ ت‪int :‬‬ ‫ﺘ ﻲﺗﻢ إﻧﺸﺎؤ ﻫﺎ‪.‬‬
‫ﻋﺪد ﻛﺎﺋﻨﺎ ت اﻟﺪاﺋﺮة اﻟ‬

‫‪+‬داﺋﺮة)(‬
‫ﺘﺮاﺿ ًﻴﺎ‪.‬‬
‫ﻳﻨﺸ ﺊ ﻛﺎﺋﻦ داﺋﺮة اﻓ‬
‫‪+‬داﺋﺮة )ﻧﺼﻒ اﻟﻘﻄﺮ‪ :‬ﻣﺰدوج( ‪():‬‬ ‫ﺑﻨﺼﻒ اﻟﻘﻄﺮ اﻟﻤﺤﺪد‪.‬‬‫ﻳﻨﺸ ﺊ ﻛﺎﺋﻦ داﺋﺮة‬
‫‪+getRadius‬ﻣﺰدوج ‪)+setRadius‬ﻧﺼﻒ‬ ‫إرﺟﺎع ﻧﺼﻒ ﻗﻄﺮ ﻫﺬه اﻟﺪاﺋﺮة‪.‬‬
‫ﺑﺎﻃﻠ ﺔ ‪int +getArea ():‬‬‫اﻟﻘﻄﺮ‪ :‬ﻣﺰدوج(‪:‬‬ ‫ﺒﻂ ﻧﺼﻒ ﻗﻄﺮ ﺟﺪﻳﺪ ﻟﻬﺬه اﻟﺪاﺋﺮة‪.‬‬
‫ﻳﻀ‬
‫‪+getNumberOfObjects ():‬ﻣﺰدوج‬ ‫ﺘ ﻲﺗﻢ إﻧﺸﺎؤ ﻫﺎ‪.‬‬
‫إرﺟﺎع ﻋﺪد ﻛﺎﺋﻨﺎ ت اﻟﺪاﺋﺮة اﻟ‬
‫إرﺟﺎع ﻣ ﺴﺎﺣ ﺔ ﻫﺬه اﻟﺪاﺋﺮة‪.‬‬

‫ﺒﻴﺎﻧﺎ ت اﻟﺨﺎﺻ ﺔ‬
‫داﺋﺮة ﻣﻊ ﺣﻘﻮل اﻟ‬

‫ﺒﻴﺎﻧﺎ ت اﻟﺨﺎﺻ ﺔ‬
‫ﺒﺎر ﻣﻊ ﺣﻘﻮل اﻟ‬
‫ﺘ‬‫داﺋﺮة اﻻﺧ‬ ‫ﻳﺠﺮي‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪49‬‬
‫‪Machine Translated by Google‬‬

‫ﺗﻤﺮﻳﺮ اﻟﻜﺎﺋﻨﺎ ت إﱃ اﻷﺳﺎﻟﻴ ﺐ‬

‫ﺘﻢ اﻟﻨﻘﻞ ﺣ ﺴ ﺐ اﻟﻘﻴﻤ ﺔ ‪(value‬‬


‫ﺒﺪاﺋ ﻲ‪،‬ﻳ‬
‫ﺘﻐﻴﺮا ت ﻣﻦ اﻟﻨﻮع اﻟ‬
‫ﺒ ﺔ ﻟﻠﻤ‬
‫ﺑﺎﻟﻨ ﺴ‬
‫ﺘﻢﺗﻤﺮﻳﺮه إﱃ اﻟﻤﻌﻠﻤ ﺔ(‬
‫ﻳ‬

‫ﺘﻢﺗﻤﺮﻳﺮ اﻟﻘﻴﻤ ﺔ إﱃ اﻟﻤﻌﻠﻤ ﺔ(‬


‫ﺒﺪاﺋ ﻲ )ﻳ‬
‫ﺑﺎﻟﻘﻴﻤ ﺔ ﻟﻘﻴﻤ ﺔ اﻟﻨﻮع اﻟ‬‫ﺘﻤﺮﻳﺮ‬
‫اﻟ‬

‫ﺘﻐﻴﺮا ت ذا ت اﻟﻨﻮع اﻟﻤﺮﺟﻌ ﻲ‬


‫ﺘﺤﻮﻳﻞ ﺣ ﺴ ﺐ اﻟﻘﻴﻤ ﺔ ﻟﻠﻤ‬
‫اﻟ‬
‫)اﻟﻘﻴﻤ ﺔ ﻫ ﻲ إﺷﺎرة إﱃ ﻛﺎﺋﻦ(‬

‫ﺑﺎﻟﻘﻴﻤ ﺔ ﻟﻘﻴﻤ ﺔ اﻟﻨﻮع اﻟﻤﺮﺟﻌ ﻲ )اﻟﻘﻴﻤ ﺔ ﻫ ﻲ اﻟﻤﺮﺟﻊ ﻟﻠﻜﺎﺋﻦ(‬‫ﺘﻤﺮﻳﺮ‬


‫اﻟ‬

‫‪TestPassObject‬ﻳﺠﺮي‬

‫‪50‬‬
‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪Machine Translated by Google‬‬

‫ﺑﻊﺗﻤﺮﻳﺮ اﻟﻜﺎﺋﻨﺎ ت إﱃ اﻷﺳﺎﻟﻴ ﺐ‬


‫ﺗﺎ‬

‫اﻟﺸﺠﺎع‬ ‫ﻛﻮﻣ ﺔ‬
‫ﺘﺤﻮﻳﻞ ﺣ ﺴ ﺐ اﻟﻘﻴﻤ ﺔ‪ ،‬اﻟﻘﻴﻤ ﺔ ﻫﻨﺎ ﻫ ﻲ ‪5‬‬
‫اﻟ‬
‫ﺘﻨﺸﻴﻂ ﻟﻄﺮﻳﻘ ﺔ‬
‫ﺳﺠﻞ اﻟ‬
‫‪printArea‬‬

‫اﻟﻨﻘﻞ ﺣ ﺴ ﺐ اﻟﻘﻴﻤ ﺔ‪ ،‬اﻟﻘﻴﻤ ﺔ ﻫ ﻲ ﻣﺮﺟﻊ اﻟﻜﺎﺋﻦ ﻫﻨﺎ‪.‬‬

‫ﺘﻨﺸﻴﻂ ﻟﻠﻄﺮﻳﻘ ﺔ‬
‫ﺳﺠﻞ اﻟ‬
‫ﺋﻴ ﺴﻴ ﺔ‬
‫اﻟﺮ‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪51‬‬
‫‪Machine Translated by Google‬‬

‫ﻣﺼﻔﻮﻓﺎ ت اﻟﻜﺎﺋﻨﺎ ت‬
‫;]‪Circle[] CircleArray = new Circle[10‬‬

‫•ﻣﺼﻔﻮﻓ ﺔ اﻟﻜﺎﺋﻨﺎ ت ﻫ ﻲ ﻓ ﻲ اﻟﻮاﻗﻊ ﻣﺮﺟﻊ‬

‫ﺘﻐﻴﺮا ت‪.‬‬
‫ﻫ ﻲ ﻣﺠﻤﻮﻋ ﺔ ﻣﻦ اﻟﻤ‬
‫ﺘﺎﻟ ﻲ‬
‫ﺘﺪﻋﺎء اﻟﺪاﻟ ﺔ )(‪CircleArray[1].getArea‬ﻓ ﻲ اﻟﺸﻜﻞ اﻟ‬
‫•وﻟﺬﻟﻚ‪ ،‬اﺳ‬

‫ﺘﻮﻳﻴﻦ ﻣﻦ اﻟﻤﺮاﺟﻊ ﻛﻤﺎ ﻫﻮ ﻣﻮﺿﺢ‪.‬‬


‫ﺘﻮي ﻋﲆ ﻣ ﺴ‬
‫وﻳﺤ‬
‫ﺑﺄﻛﻤﻠﻬﺎ‪.‬‬‫ﺗﺸﻴﺮ ‪CircleArray‬إﱃ اﻟﻤﺼﻔﻮﻓ ﺔ‬
‫•‬
‫]‪CircleArray[1‬إﱃ ﻛﺎﺋﻦ اﻟﺪاﺋﺮة‬
‫ﺘﻘﺪم‪.‬‬
‫ﻳ‬
‫‪52‬‬
‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
Machine Translated by Google

‫ﺑﻊ ﻣﺼﻔﻮﻓﺎ ت اﻟﻜﺎﺋﻨﺎ ت‬


‫ﺗﺎ‬
Circle[] CircleArray = new Circle[10];

2018 Pearson Education, Ltd. (‫ )ج‬،‫ اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‬،‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‬


‫ ﻣﻘﺪﻣ ﺔ ﻟ‬،‫ﻟﻴﺎﻧﻎ‬
.‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‬
53
‫‪Machine Translated by Google‬‬

‫ﺑﻊ ﻣﺼﻔﻮﻓﺎ ت اﻟﻜﺎﺋﻨﺎ ت‬


‫ﺗﺎ‬

‫ﺗﻠﺨﻴﺺ ﻣ ﺴﺎﺣﺎ ت اﻟﺪواﺋﺮ‬

‫اﻟﻤ ﺴﺎﺣ ﺔ اﻟﻜﻠﻴ ﺔ‬ ‫ﻳﺠﺮي‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪54‬‬
‫ﺘﻐﻴﻴﺮ‬ ‫ﺑﻠ ﺔ ﻟﻠ‬‫اﻟﻜﺎﺋﻨﺎ ت واﻟﻔﺌﺎ ت ﻏﻴﺮ اﻟﻘﺎ‬
‫‪Machine Translated by Google‬‬

‫ﺘﻐﻴﻴﺮ‬ ‫ﺑﻠ ﺔ ﻟﻠ‬


‫اﻟﻜﺎﺋﻨﺎ ت واﻟﻔﺌﺎ ت ﻏﻴﺮ اﻟﻘﺎ‬

‫ﺑﻌﺪ إﻧﺸﺎء اﻟﻜﺎﺋﻦ‬‫ﺘﻮى اﻟﻜﺎﺋﻦ‬


‫ﻣﺤ‬
‫ﺘﻪ ﻓﺌ ﺔ‬
‫ﺗ ﺴﻤﻰ ﻓﺌ‬
‫ﺘﻐﻴﻴﺮ و‬ ‫إذا ﻟﻢﻳﻜﻦ ﻣﻦ اﻟﻤﻤﻜﻦﺗﻐﻴﻴﺮه‪،‬ﻳ ﺴﻤﻰ اﻟﻜﺎﺋﻦ ﻛﺎﺋ ًﻨﺎ ﻏﻴﺮ ﻗﺎ‬
‫ﺑﻞ ﻟﻠ‬
‫ﺘﻐﻴﻴﺮ‪.‬‬
‫ﺑﻠ ﺔ ﻟﻠ‬
‫ﻏﻴﺮ ﻗﺎ‬

‫ّﻻ ت‬
‫ﺒﻴﺎﻧﺎ ت اﻟﺨﺎﺻ ﺔ وﻻﻳﻮﺟﺪ أي ﻣﻌﺪ‬
‫ﺘﻮي ﻋﲆ ﺟﻤﻴﻊ اﻟ‬
‫ﻣﻠﻒﻳﺤ‬
‫ﺜﺎل‪ ،‬ﻣﺎﻳﻠ ﻲ‬
‫ﺒﻴﻞ اﻟﻤ‬
‫ﺘﻐﻴﻴﺮ‪ .‬ﻋﲆﺳ‬
‫ﺑﻠ ﺔ ﻟﻠ‬
‫ﺑﺎﻟﻀﺮورة ﻏﻴﺮ ﻗﺎ‬‫ﺒﻘ ﺔ ﻟﻴ ﺴ ﺖ‬
‫اﻟﻄ‬
‫ﺘﻮي ﻋﲆ ﻣﻌﺪﻻ ت‪ ،‬وﻟﻜﻦﻳﻤﻜﻦ‬
‫ﺑﻔﺼﻞ اﻟﻄﺎﻟ ﺐ ﺧﺎﺻ ﺔ وﻻﺗﺤ‬‫ﺒﻴﺎﻧﺎ ت اﻟﺨﺎﺻ ﺔ‬
‫ﺟﻤﻴﻊ ﺣﻘﻮل اﻟ‬
‫ﺗﻌﺪﻳﻠﻬﺎ‪.‬‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪55‬‬
‫ﺜﺎل‬
‫ﻣ‬
‫‪Machine Translated by Google‬‬

‫ﺗﺎرﻳﺦ ﻣﻴﻼد اﻟﻔﺌ ﺔ اﻟﻌﺎﻣ ﺔ }ﺳﻨ ﺔ ‪int‬اﻟﺨﺎﺻ ﺔ؛ ﺷﻬﺮ‬


‫ﺧﺎص؛ﻳﻮم ﺧﺎص؛‬
‫ﻃﺎﻟ ﺐ ﻓﺌ ﺔ ﻋﺎﻣ ﺔ }ﻣﻌﺮف ‪int‬اﻟﺨﺎص؛ﺗﺎرﻳﺦ اﻟﻤﻴﻼد اﻟﺨﺎصﺗﺎرﻳﺦ اﻟﻤﻴﻼد؛‬

‫ﺗﺎرﻳﺦ اﻟﻤﻴﻼد اﻟﺠﺪﻳﺪ )اﻟ ﺴﻨ ﺔ‪ ،‬اﻟﺸﻬﺮ‪ ،‬اﻟﻴﻮم(؛‬


‫ﺗﺎرﻳﺦ اﻟﻤﻴﻼد =‬ ‫‪(intint‬‬
‫‪public Student(int ssn, int year, int Month,‬‬ ‫‪newYear،‬‬ ‫اﻟﻌﺎم‬
‫;‪day) { id = ssn‬‬ ‫ﺗﺎرﻳﺦ اﻟﻤﻴﻼد‬
‫;‪int newMonth, int newDay) { year = newYear‬‬
‫ﺷﻬﺮ =ﺷﻬﺮ ﺟﺪﻳﺪ؛ﻳﻮم =ﻳﻮم ﺟﺪﻳﺪ؛‬
‫}‬

‫;‪public int getId() { return id‬‬


‫}‬
‫}‬
‫;‪public void setYear(int newYear) { year = newYear‬‬
‫ﺗﺎرﻳﺦ اﻟﻤﻴﻼد اﻟﻌﺎم { )(‪getBirthDate‬‬
‫ﺗﺎرﻳﺦ اﻟﻤﻴﻼد اﻟﻌﻮدة؛‬
‫}‬
‫}‬
‫}‬ ‫}‬

‫ﺒﻘ ﺔ اﻟﻌﺎﻣ ﺔ {‬
‫ﺒﺎر اﻟﻄ‬
‫ﺘ‬‫اﺧ‬
‫{ )‪public static void main(String[] args‬‬
‫ﺗﺎرﻳﺦ اﻟﻤﻴﻼد ‪date.setYear(2010); //‬‬
‫اﻟﻄﺎﻟ ﺐ اﻟﻄﺎﻟ ﺐ =اﻟﻄﺎﻟ ﺐ اﻟﺠﺪﻳﺪ)‪1970, 5, 3); ,333322111‬‬
‫ﺘﻐﻴﺮﺳﻨ ﺔ ﻣﻴﻼد اﻟﻄﺎﻟ ﺐ ﻫﻨﺎ!‬
‫ﺗ‬‫;)(‪= Student.getBirthDate‬‬

‫}‬
‫}‬

‫‪56‬‬
‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪Machine Translated by Google‬‬

‫ﺘﻐﻴﻴﺮ؟‬
‫ﺑﻠ ﺔ ﻟﻠ‬
‫ﺒﺮ ﻓﺌﺎ ت ﻏﻴﺮ ﻗﺎ‬
‫ﺘ‬‫ﺘ ﻲﺗﻌ‬
‫ﻣﺎ ﻫ ﻲ اﻟﻔﺌﺎ ت اﻟ‬

‫ﺒﻴﺎﻧﺎ ت ﺧﺎﺻ ﺔ‪.‬‬


‫ﻳﺠ ﺐ أنﺗﻜﻮن ﺟﻤﻴﻊ ﺣﻘﻮل اﻟ‬

‫ﺒﻴﺎﻧﺎ ت ‪.‬‬
‫ﻻﻳﻤﻜﻦ أنﺗﻜﻮن ﻫﻨﺎك أي ﻃﺮقﺗﻌﺪﻳﻞ ﻟﺤﻘﻮل اﻟ‬

‫ﺘﻐﻴﻴﺮ‪.‬‬
‫ﺑﻞ ﻟﻠ‬
‫ﺑﻴﺎﻧﺎ ت ﻗﺎ‬‫ﻣﺮﺟﻌﺎ إﱃ ﺣﻘﻞ‬
‫ً‬ ‫ﻻﻳﻤﻜﻦﻷي ﻃﺮﻳﻘ ﺔ وﺻﻮل أنﺗﺮﺟﻊ‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪57‬‬
‫‪Machine Translated by Google‬‬

‫ﺘﻐﻴﺮا ت‬
‫ﻧﻄﺎق اﻟﻤ‬
‫ﺘﺔ‬
‫ﺑ‬‫ﺜﺎ‬
‫ﺘﻐﻴﺮا ت اﻟ‬
‫ﺘﻐﻴﺮا ت اﻟﻜﺎﺋﻦ واﻟﻤ‬
‫ﻣ‬
‫ﺑﺄﻛﻤﻠﻪ‪ .‬أي ﻣﻦ ﻓﺌ ﺔ‬‫ﻧﻄﺎﻗﻬﺎ ﻫﻮ اﻟﻔﺼﻞ‬

‫ﺑﻼغ ﻋﻨﻬﺎ ﻓ ﻲ اﻟﻤﻮﻗﻊ‪.‬‬


‫وﻳﻤﻜﻦ اﻹ‬

‫ﺘﻐﻴﺮ اﻟﻤﺤﻠ ﻲ ﻣﻦ إﻋﻼﻧﻪ و‬


‫ﺒﺪأ ﻧﻄﺎق اﻟﻤ‬
‫ﻳ‬
‫ﺘﻐﻴﺮ‪.‬‬
‫ﺘﻮي ﻋﲆ اﻟﻤ‬
‫ﺘ ﻲﺗﺤ‬
‫ﺘﻠ ﺔ اﻟ‬
‫ﺘﻰ ﻧﻬﺎﻳ ﺔ اﻟﻜ‬
‫ﺘﻤﺮ ﺣ‬
‫ﻳﺴ‬
‫ﺘﻐﻴﺮ اﻟﻤﺤﻠ ﻲ‪،‬ﻳﺠ ﺐ أنﻳﻜﻮن ﺻﺮﻳﺤًﺎ‬
‫ﺘﺨﺪام اﻟﻤ‬
‫ﺒﻞ اﺳ‬
‫ﻗ‬

‫ﺒﺪأ‪.‬‬
‫ﻳﺠ ﺐ أنﺗ‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪58‬‬
‫‪Machine Translated by Google‬‬

‫ﺋﻴ ﺴﻴ ﺔ‬
‫ﻫﺬه اﻟﻜﻠﻤ ﺔ اﻟﺮ‬
‫اﻟﻜﻠﻤ ﺔ اﻷﺳﺎﺳﻴ ﺔ ﻫﺬه ﻫ ﻲ اﺳﻢ ﻣﺮﺟﻊﻳﺸﻴﺮ إﱃ اﻟﻜﺎﺋﻦ ﻧﻔ ﺴﻪ‪ .‬أﺣﺪ‬

‫ﺘﺨﺪاﻣﺎ ت اﻟﺸﺎﺋﻌ ﺔ ﻟﻬﺬه اﻟﻜﻠﻤ ﺔ اﻷﺳﺎﺳﻴ ﺔ ﻫﻮ اﻹﺷﺎرة إﱃ ﺣﻘﻮل‬


‫اﻻﺳ‬

‫ﺒﻴﺎﻧﺎ ت اﻟﻤﺨﻔﻴ ﺔ ﻟﻠﻔﺌ ﺔ‪.‬‬


‫اﻟ‬

‫ﻫﺬه اﻟﻜﻠﻤ ﺔ اﻷﺳﺎﺳﻴ ﺔ ﺷﺎﺋﻌ ﺔ أﺧﺮى‬


‫ﺘﺪﻋﺎءُﻣﻨﺸ ﺊ آﺧﺮ ﻣﻦ ﻧﻔ ﺲ‬
‫ﺘﻤﻜﻴﻦ اﻟﻤﻨﺸ ﺊ ﻣﻦ اﺳ‬
‫ﺘﺨﺪاﻣﻪ ﻟ‬
‫ﺘﻢ اﺳ‬
‫ﻳ‬
‫اﻟﻔﺌ ﺔ‪.‬‬

‫‪59‬‬
‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪Machine Translated by Google‬‬

‫ﺒﻴﺎﻧﺎ ت اﻟ ﺴﺮﻳ ﺔ‬
‫اﻹﺷﺎرة إﱃ ﺣﻘﻮل اﻟ‬
‫اﻟﻔﺌ ﺔ اﻟﻌﺎﻣ ﺔ { ‪F‬‬ ‫ﺘﺮض أن ‪f1‬و ‪ f2‬ﻫﻤﺎ ﻛﺎﺋﻨﺎن ﻣﻦ ‪F.‬‬
‫ﻟﻨﻔ‬
‫ﺜﺎﻓ ﺔ اﻟﻌﻤﻠﻴﺎ ت اﻟﺨﺎﺻ ﺔ ط ؛‪= 5‬‬
‫ﻛ‬ ‫= ‪F f1‬ﺟﺪﻳﺪ = ‪F(); F f2‬ﺟﺪﻳﺪ ;)(‪F‬‬
‫ﺑ ﺖ ﺧﺎص ﻣﺰدوج ك ؛‪= 0‬‬
‫ﺛﺎ‬
‫ﺘﻨﻔﻴﺬ‬
‫ﺘﺪﻋﺎء )‪ f1.setI(10‬ﻫﻮ ﻟﻠ‬
‫اﺳ‬
‫ﺑﺎﻃﻠ ﺔ { )‪I(int i‬‬‫ﻣﺠﻤﻮﻋ ﺔ‬ ‫‪this.i = 10،‬ﺣﻴ ﺚﻳﺸﻴﺮ ﻫﺬا إﱃ ‪f1‬‬
‫;‪this.i = i‬‬
‫}‬ ‫ﺘﻨﻔﻴﺬ‬
‫ﺘﺪﻋﺎء )‪ f2.setI(45‬ﻫﻮ ﻟﻠ‬
‫اﺳ‬
‫‪this.i = 45،‬ﺣﻴ ﺚﻳﺸﻴﺮ ﻫﺬا إﱃ ‪f2‬‬
‫ﺘ ﺔ ‪)K‬ﻣﺰدوج ك( {‬
‫ﺑ‬‫ﺛﺎ‬‫ﺑﺎﻃﻠ ﺔ‬‫ﻣﺠﻤﻮﻋ ﺔ‬
‫ﻓﻚ = ك؛‬
‫}‬
‫}‬

‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪60‬‬
‫‪Machine Translated by Google‬‬

‫ﺜﻘﻞ‬
‫ﺘﺪﻋﺎء اﻟﻤﻨﺸ ﺊ اﻟﻤ‬
‫اﺳ‬
‫ﺒﻘ ﺔ اﻟﻌﺎﻣ ﺔ {‬
‫داﺋﺮة اﻟﻄ‬
‫ﻧﺼﻒ ﻗﻄﺮ ﻣﺰدوج ﺧﺎص؛‬

‫اﻟﺪاﺋﺮة اﻟﻌﺎﻣ ﺔ )ﻧﺼﻒ اﻟﻘﻄﺮ اﻟﻤﺰدوج( {‬


‫;‪this.radius = radius‬‬
‫}‬ ‫ﺒﻴﺎﻧﺎ ت‬
‫ﺑﺸﻜﻞ ﺻﺮﻳﺢ ﻟﻺﺷﺎرة إﱃ ﻧﺼﻒ ﻗﻄﺮ ﻣﻨﻄﻘ ﺔ اﻟ‬‫ﺘﺨﺪام ﻫﺬا‬
‫ﻳﺠ ﺐ اﺳ‬
‫ﺘﻢ إﻧﺸﺎؤه‬
‫ﻟﻠﻜﺎﺋﻦ اﻟﺬيﻳ‬
‫اﻟﺪاﺋﺮة اﻟﻌﺎﻣ ﺔ { )(‬
‫ﻫﺬا)‪;(0.1‬‬
‫}‬ ‫ﺘﺪﻋﺎء ﻣﻨﺸ ﺊ آﺧﺮ‬
‫ﺘﺨﺪام ﻫﺬا ﻻﺳ‬
‫ﺘﻢ اﺳ‬
‫ﻳ‬

‫‪getArea‬اﻟﻤﺰدوﺟ ﺔ اﻟﻌﺎﻣ ﺔ { )(‬


‫إرﺟﺎع ؛‪this.radius * this.radius * Math.PI‬‬
‫}‬
‫}‬ ‫ً‬
‫ﻋﺎدة‪.‬‬ ‫ﺘﻢ ﺣﺬﻓﻪ‬
‫ﺜﻠﻪ ﻫﺬا وﻳ‬
‫ﺘﻐﻴﺮ ﻛﺎﺋﻦ إﱃ ﻛﺎﺋﻦﻳﻤ‬
‫ﺘﻤ ﻲ ﻛﻞ ﻣ‬
‫ﻳﻨ‬

‫‪61‬‬
‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬
‫‪Machine Translated by Google‬‬

‫ﺘﺎﻟﻴ ﺔ ﻫﺬا‬
‫ﻓ ﻲ اﻟﺤﺎﻟ ﺔ اﻟ‬
‫ﺘﺨﺪاﻣﻬﺎ‬
‫ﻻﻳﺠﻮز اﺳ‬

‫‪62‬‬
‫ﺒﺮﻣﺠ ﺔ ﺟﺎﻓﺎ‪ ،‬اﻹﺻﺪار اﻟﺤﺎدي ﻋﺸﺮ‪) ،‬ج( ‪2018 Pearson Education, Ltd.‬‬
‫ﻟﻴﺎﻧﻎ‪ ،‬ﻣﻘﺪﻣ ﺔ ﻟ‬
‫ﻛﻞ اﻟﺤﻘﻮق ﻣﺤﻔﻮﻇ ﺔ‪.‬‬

You might also like