|
٣- ﺑﺪ ﻧﯿﺴﺖ ﺗﺎﺑﻊ ﺗﻌﺮﻳﻒ ﺷﺪه را ﻛﻤﻲ ﺑﯿﺸﺘﺮ آﻧﺎﻟﯿﺰ ﻛﻨﯿﻢ : ( public static double int۳SQL( double intInput } ;۰=double i ;( i = Math.Sqrt( intInput ;return i {
اﺑﺘـﺪا ﺳـﻄﺢ دﺳﺘﺮﺳـﻲ ﺑـﻪ ﺗـﺎﺑﻊ ذﻛـﺮ ﺷـﺪه اﺳـﺖ. ﭘﺎﺑﻠﯿـﻚ ، ﻳﻌﻨـﻲ اﻳـﻦ ﺗـﺎﺑﻊ ﺧـﺎرج از ﻛـﻼس ﻳـﻚ ﺑﺮﻧﺎﻣـﻪ ﻧﯿـﺰ ﻗﺎﺑـﻞ دﺳﺘﺮﺳﻲ اﺳﺖ. ﺳﭙﺲ از ﻛﻠﻤﻪ ی staticاﺳﺘﻔﺎده ﮔﺮدﻳﺪه ﻛﻪ ﺗﻮﺿﯿﺢ ﻣﺨﺘـﺼﺮی را در ﻣـﻮرد آن ﻣﻼﺣﻈـﻪ ﻛﺮدﻳـﺪ. در اداﻣﻪ ﻧﻮع ﺧﺮوﺟﻲ ﺗﺎﺑﻊ ﻛﻪ در اﻳﻨﺠﺎ doubleﻣﻲ ﺑﺎﺷﺪ ﻣﻌﺮﻓﻲ ﮔﺮدﻳﺪه اﺳﺖ. دﻗﺖ ﻛﻨﯿـﺪ ﻛـﻪ ﺣﺘﻤـﺎ ﺑﺎﻳـﺪ ﻧـﻮع ﺗﻌﺮﻳـﻒ ﺷﺪه ﺑﺎ ﻣﻘﺪاری ﻛﻪ ﻳﻚ ﺗﺎﺑﻊ ﺑﺮ ﻣﻲ ﮔﺮداﻧﺪ ﻳﻜﺴﺎن ﺑﺎﺷﺪ و ﮔﺮﻧﻪ ﺑﺎ ﻳﻚ ﺧﻄﺎ ﺑﺮﻧﺎﻣﻪ ﻣﺘﻮﻗﻒ ﻣﻲ ﺷﻮد. ﺳﭙﺲ ﻧﺎم ﺗـﺎﺑﻊ ﺗﻌﺮﻳﻒ ﺷﺪه اﺳﺖ. داﺧﻞ ﭘﺮاﻧﺘﺰ ھﺎ ﻧﻮع و ﻧﺎم آرﮔﻮﻣﺎﻧﻲ اراﺋﻪ ﺷﺪه اﺳﺖ ﻛﻪ در ﺑﺪﻧﻪ ی ﺗﺎﺑﻊ اﺳﺘﻔﺎده ﻣﻲ ﮔـﺮدد. اﮔـﺮ ﺑﻪ ﺗﻌﺪاد ﺑﯿﺸﺘﺮی ﭘﺎراﻣﺘﺮ و ﻳﺎ آرﮔﻮﻣﺎن ﻧﯿﺎز ﺑﻮد ﻣﻲ ﺗﻮان آﻧﮫﺎ را ﺑﺎ , از ھﻢ ﺟﺪا ﻛﺮد. ﭘﺲ از اﻳﻨﻜﻪ ﻋﻤﻠﯿﺎت ﺗﺎﺑﻊ ﺧﺎﺗﻤﻪ ﻣﻲ ﻳﺎﺑﺪ ﺑﺎ اﺳﺘﻔﺎده از returnاﻳﻦ ﺧﺮوﺟﻲ را ﻣﻌﺮﻓﻲ ﻣﻲ ﻧﻤﺎﻳﯿﻢ. ﺑﺮای اﺳﺘﻔﺎده از اﻳﻦ ﺗﺎﺑﻊ ﺑﻪ ﺳﺎدﮔﻲ ﻧﺎم ﺗﺎﺑﻊ و ﺳﭙﺲ ﭘﺮاﻧﺘﺰھﺎ ﺑﻪ ھﻤﺮاه ﻳﻚ ﻋﺪد دﻟﺨﻮاه را ﻣـﻲ ﻧﻮﻳـﺴﻢ ﻛـﻪ آﻧـﺮا در ﻣﺘﺪ Mainﺑﺮﻧﺎﻣﻪ ﻣﻲ ﺗﻮان ﻣﺸﺎھﺪه ﻛﺮد.
ﺗﻌﺮﻳﻒ ﺗﻮاﺑﻊ در ﻛﻼس ھﺎی دﻳﮕﺮ ﺑﺮﻧﺎﻣﻪ و ﻧﺤﻮه ی اﺳﺘﻔﺎده از آﻧﮫﺎ :
ﻳﻜﻲ از زﻳﺒﺎﻳﻲ ھﺎی ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﺷﻲء ﮔﺮا ﻧﻈﻢ و ﺗﺮﺗﯿﺐ و ﺑﺴﺘﻪ ﺑﻨﺪی ﻛﺎرھﺎ ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ اﺻﻄﻼﺣﺎ در اﻳﻨﺠﺎ ﺑـﻪ آن encapsulation ﻣﻲ ﮔﻮﻳﻨﺪ. ﻳﻌﻨﻲ ﻣﺎ ﻳﻚ ﺳﺮی از ﺗﻮاﺑﻊ و ﺧﻮاص را درون ﻛﭙﺴﻮﻟﻲ ﺑﻪ ﻧﺎم ﻛـﻼس ﻗـﺮار ﻣـﻲ دھـﯿﻢ ﺗﺎ ﺑﻪ ﺳﺎدﮔﻲ ﺑﺎرھﺎ و ﺑﺎرھﺎ از آن اﺳﺘﻔﺎده ﻧﻤﺎﻳﯿﻢ. ﺑﺮای اﻳﻨﻜﺎر ﺑﻪ ﺳﺎدﮔﻲ ﻳﻚ ﺗﻮاﺑﻊ را ﺑﻪ ﺻﻮرت ﻣﻌﻤﻮل درون ﻛﻼس ﺗﻌﺮﻳﻒ ﻣﻲ ﻧﻤﺎﻳﯿﻢ و ﺳـﭙﺲ ھﻤﺎﻧﻨـﺪ ﺧـﻮاص ﻛـﻪ در ﻣﻮرد آﻧﮫﺎ ﺻﺤﺒﺖ ﺷﺪ ، از ﺗﻮاﺑﻊ ﻣﻲ ﺗﻮان اﺳﺘﻔﺎده ﻛﺮد ﺑـﺎ اﻳـﻦ ﺗﻔـﺎوت ﻛـﻪ ھﻨﮕـﺎم ﻛـﺎر ﺑـﺎ ﺗﻮاﺑـﻊ ﺣﺘـﻲ اﮔـﺮ آﻧﮫـﺎ ھـﯿﭻ آرﮔﻮﻣﺎن و ﻳﺎ ﭘﺎراﻣﺘﺮ ورودی ھﻢ ﻧﺪاﺷﺘﻪ ﺑﺎﺷﻨﺪ ذﻛﺮ ﭘﺮاﻧﺘﺰھﺎ اﻟﺰاﻣﻲ اﺳﺖ.
ﻣﺜﺎﻟﻲ دﻳﮕﺮ در اﻳﻦ زﻣﯿﻨﻪ :
ﻣﺜﺎل : ﻳﻚ ﺑﺮﻧﺎﻣـﻪ ی ﺳـﻲ ﺷـﺎرپ ﺟﺪﻳـﺪ console را در VS.NETﺑـﺎز ﻛﻨﯿـﺪ و ﻧـﺎم آﻧـﺮا دراﺑﺘـﺪا ex۱۴ اﻧﺘﺨـﺎب ﻧﻤﺎﻳﯿـﺪ. ﺳﭙﺲ از ﻣﻨﻮی ﭘﺮوژه ﻳﻚ ﻛﻼس ﺟﺪﻳﺪ را ﺑﻪ ﺑﺮﻧﺎﻣﻪ اﺿﺎﻓﻪ ﻧﻤﺎﻳﯿﺪ ( ﻧﺎم آﻧﺮا clsToolsﺑﮕﺬارﻳﺪ ) .
;using System
namespace ex۱۴ } public class clsTools } ()public clsTools } {
( public uint intCalc ( uint a , uint b } uint ;(c = Math.Min (a,b ; (double x = Math.Sqrt(c uint ;(w = Convert.ToUInt۳۲ (x ;return w { { {
ﺳﭙﺲ در ﻣﺘﺪ Main ﺑﺮﻧﺎﻣﻪ ﻣﻲ ﺗﻮان ﺑﻪ ﺻﻮرت زﻳﺮ از آن اﺳﺘﻔﺎده ﻛﺮد :
;using System
namespace ex۱۴ } class Class۱ } [[STAThread (static void Main(string[] args } ;()clsTools m_var = new clsTools ;((۹,۴)Console.WriteLine( m_var.intCalc ;()Console.ReadLine { { {
ﺗﻮﺿﯿﺤﺎﺗﻲ در ﻣﻮرد ﻛﺪ ﻓﻮق : ١- ﺗﺎﺑﻊ intCalc ﻣﺎ دو ﻋﺪد ﺻﺤﯿﺢ ﻣﺜﺒﺖ را ﻣﻲ ﮔﯿﺮد و ﺳﭙﺲ ﺟﺬر ﻛﻮﭼﻜﺘﺮﻳﻦ دو ﻋﺪد ورودی را ﻣﺤﺎﺳـﺒﻪ ﻣـﻲ ﻛﻨﺪ. ٢- ﺑﺮای ﺗﺒﺪﻳﻞ ﻧﻮع ھﺎی ﻋﺪدی ﻣﺨﺘﻠﻒ ﺑﻪ ھﻢ ﻣﻲ ﺗﻮان از ﺷﻲء Convertاﺳﺘﻔﺎده ﻛﺮد. ٣- ﺑﺪون اﺳﺘﻔﺎده از ﺷﻲء Convertﻳﻜﺒﺎر ﺑﺮﻧﺎﻣﻪ را اﺟﺮا ﻛﻨﯿﺪ و دﻟﯿﻞ ﺧﻄﺎی ﺑﻮﺟﻮد آﻣﺪه را ﺑﯿﺎن ﻧﻤﺎﻳﯿﺪ.
|