درس سوم - بخش دوم
ﺑﺮای اﺳﺘﻔﺎده از اﻳﻦ ﺧﺎﺻﯿﺖ ﺟﺪﻳﺪ ، در ﻓﺎﻳﻞ Class۱.csﻛﻪ ﻣﺘﺪ main ﺑﺮﻧﺎﻣﻪ ی ﻣﺎ در آﻧﺠﺎ ﻗﺮار دارد ﺑﻪ ﺻـﻮرت زﻳـﺮ ﻋﻤﻞ ﻣﻲ ﻛﻨﯿﻢ :
ﺗﻮﺿﯿﺢ ﻛﺪ ﻓﻮق :
ﺑﺮای اﺳﺘﻔﺎده از ﻳﻚ ﻛﻼس ﺑﺎﻳﺪ ﻳﻚ ﻣﺘﻐﯿﺮ از آن را ﺗﻌﺮﻳﻒ ﻛﻨﯿﻢ. در ھﺮ زﺑﺎﻧﻲ ﻳﻚ ﺳﺮی ﻧـﻮع ھـﺎی اﺳـﺘﺎﻧﺪارد ﻣﺎﻧﻨـﺪ int و string و ﻏﯿﺮه وﺟﻮد دارﻧﺪ. ﻛﻼس ھﻢ در ﺣﻘﯿﻘﺖ ﻳﻚ ﻧـﻮع داده ی ﺑـﺴﯿﺎر ﺑـﺴﯿﺎر ﻗﺪرﺗﻤﻨـﺪ ﺑـﻪ ﺷـﻤﺎر ﻣـﻲ آﻳـﺪ. ﺑﺮای ﺗﻌﺮﻳﻒ ﻳﻚ ﻣﺘﻐﯿﺮ از ﻧﻮع ﺟﺪﻳﺪ روش ﻛﺎر ﻣﺎﻧﻨﺪ ﺳﺎﺑﻖ اﺳﺖ. ﺑﺮای ﻣﺜﺎل زﻣﺎﻧﻲ ﻛﻪ ﻳﻚ ﻣﺘﻐﯿﺮ ﻋﺪد ﺻﺤﯿﺢ را ﺗﻌﺮﻳـﻒ ﻣﻲ ﻛﻨﯿﺪ ﺑﻪ ﺻﻮرت زﻳﺮ ﻋﻤﻞ ﻣﻲ ﺷﻮد :
ﺑﺮای ﺗﻌﺮﻳﻒ ﻳﻚ ﻣﺘﻐﯿﺮ از ﻧﻮع داده ای ﻛﻪ ﺧﻮدﻣﺎن ﺗﻌﺮﻳﻒ ﻛﺮده اﻳﻢ ﻧﯿﺰ ﺑﺎﻳﺪ ﺑﻪ ھﻤﯿﻦ ﺻﻮرت ﻋﻤﻞ ﺷﻮد.
از ﻛﻠﻤﻪ ی ﻛﻠﯿﺪی newاﻳﻨﺠﺎ ﺑﻪ ﺻـﻮرت اﺳـﺘﺎﻧﺪارد ﺑـﺮای ﻣﻘـﺪار دھـﻲ اوﻟﯿـﻪ ﺑـﻪ اﻳـﻦ ﻣﺘﻐﯿـﺮ ﺟﺪﻳـﺪ اﺳـﺘﻔﺎده ﻣـﻲ ﻧﻤﺎﻳﯿﻢ.
ﺳﭙﺲ ﺑﻪ روش دﺳﺘﯿﺎﺑﻲ ﺑﻪ اﻳﻦ ﺧﺎﺻﯿﺘﻲ ﻛﻪ ﺑﻪ ﻛﻼس اﺿﺎﻓﻪ ﻛﺮده اﻳﻢ ﻣﻲ رﺳﯿﻢ.
ﻛﻼ ﭼﻪ ﻳﻚ ﺧﺎﺻﯿﺖ و ﻳﺎ ﻳﻚ ﻣﺘﺪ را ﺑﻪ ﻛﻼس اﺿﺎﻓﻪ ﻧﻤﺎﻳﯿﻢ ﺑﺮای دﺳﺘﯿﺎﺑﻲ ﺑـﻪ آن از ﻋﻤﻠﮕـﺮ ﻧﻘﻄـﻪ ﭘـﺲ از ذﻛـﺮ ﻧـﺎم ﻣﺘﻐﯿﺮ ﺗﻌﺮﻳﻒ ﺷﺪه از ﻧﻮع ﻛﻼس ﺧﻮد ، اﺳﺘﻔﺎده ﻣﻲ ﻧﻤﺎﻳﯿﻢ. ﺑﺮای اﺳﺘﻔﺎده از ﺧﺎﺻﯿﺖ ھـﺎ ﻧﯿـﺎزی ﺑـﻪ آوردن () ﺑﻌـﺪ از ذﻛﺮ ﻧﺎم ﺧﺎﺻﯿﺖ ﻧﻤﻲ ﺑﺎﺷﺪ.
ﻋﻤﻮﻣﺎ از ﺧﺎﺻﯿﺖ ھﺎ ﺑﺮای ﺑﺮﮔﺮداﻧﺪن و ﻳﺎ ﺗﻨﻈﯿﻢ ﻳﻚ ﻣﻘﺪار ﺳﺎده اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد و در آﻧﮫـﺎ ﻋﻤﻠﯿـﺎت ﭘﯿﭽﯿـﺪه ای ﻣﺪ ﻧﻈﺮ ﻧﻤﻲ ﺑﺎﺷﺪ.
ﺷﻤﺎ ﺑﻪ وﻳﮋﮔﻲ ھﺎی ﻳﻚ ﺷﻲء ﺑﺎ اﺳﺘﻔﺎده از ﺧﻮاص آن ﻣﻲ ﺗﻮاﻧﯿـﺪ دﺳﺘﺮﺳـﻲ ﭘﯿـﺪا ﻛﻨﯿـﺪ. ﻳـﻚ property ﻋـﻀﻮی اﺳﺖ ﻛﻪ اﻣﻜﺎن دﺳﺘﺮﺳﻲ ﺑﻪ وﻳﮋﮔﻲ ﺷﻲء ﻳﺎ ﻛﻼس را ﻓﺮاھﻢ ﻣﻲ ﻛﻨﺪ. ﺑﺮای ﻣﺜﺎل ﻃﻮل ﻳﻚ رﺷﺘﻪ ( ، (stringﺳـﺎﻳﺰ ﻳﻚ ﻓﻮﻧﺖ ، ﻋﻨﻮان ﻳﻚ ﻓﺮم و ﻧﺎم ﻳﻚ ﻣﺼﺮف ﻛﻨﻨﺪه ، ﺧﺎﺻﯿﺖ ھﺴﺘﻨﺪ .
ﺑﺴﯿﺎری از اﺷﯿﺎء ذاﺗﻲ دات ﻧﺖ ﻓﺮﻳﻢ ورک ، ﺧﻮاص ﻣﻔﯿﺪ زﻳﺎدی را ﺑﻪ ھﻤﺮاه دارﻧﺪ. ﺑﺮای ﻣﺜﺎل ﺷـﻲء DateTime را در ﻧﻈﺮ ﺑﮕﯿﺮﻳﺪ. ﺑﺎ اﺳﺘﻔﺎده از ﺧﺎﺻﯿﺖ Todayآن ﻣﻲ ﺗﻮان ﺗﺎرﻳﺦ ﺟﺎری ﺳﯿﺴﺘﻢ را ﺑﺪﺳﺖ آورد. ﺑﺮای اﺳـﺘﻔﺎده از ﻳـﻚ ﺧﺎﺻﯿﺖ ﻻزم اﺳﺖ ﺗﺎ ﻛﻼس ﺗﻌﺮﻳﻒ ﻛﻨﻨﺪه ﺷﻲء در ﺑﺮﻧﺎﻣﻪ ﻣﮫﯿﺎ ﺑﺎﺷﺪ. ﻣﻨﻈﻮر ھﻤﺎن اﺳـﺘﻔﺎده از ﻓـﻀﺎی ﻧـﺎم ﻣﺮﺑﻮﻃـﻪ ﻣﻲ ﺑﺎﺷﺪ. ﭘﺲ از وارد ﻛﺮدن ﻓﻀﺎی ﻧﺎم ﻛﻼس ﻣﻮرد ﻧﻈﺮ ﻣﻲ ﺗﻮاﻧﯿﺪ از ﺷﻲء و ﺧﻮاص آن اﺳﺘﻔﺎده ﻛﻨﯿﺪ. دو راه وﺟﻮد دارد ﻳﺎ ﺑﻪ ﺻﻮرت ﻛﺎﻣﻞ ﺗﻤﺎم ﻣـﻮارد ﺑﺎﻳـﺪ ذﻛـﺮ ﺷـﻮﻧﺪ ﻣﺎﻧﻨـﺪ ; System.DateTime.Nowو ﻳـﺎ ﺑـﺎ وارد ﻛـﺮدن ﻓـﻀﺎی ﻧـﺎم Systemﻛﻮﺗﺎه ﺳﺎزی ﺻﻮرت ﻣﻲ ﮔﯿﺮد.
ﺑﺮای اﺳﺘﻔﺎده از ھﺮ ﻣﺘﺪ و ﻳﺎ ﺷﻲء اﻳﻲ در ﺳﻲ ﺷﺎرپ ﺑﺎﻳﺪ اﻳﻦ ﺷﻲء ﻗﺎﺑـﻞ دﺳﺘﺮﺳـﻲ ﺑﺎﺷـﺪ. ﺑـﺮای ﻣﺜـﺎل ﺷـﻲء Console ﻛﻪ از آن ﺑﺮای ﭼﺎپ ﻛﺮدن ﺧﺮوﺟﻲ ﺑـﺮ روی ﺻـﻔﺤﻪ ی ﻧﻤـﺎﻳﺶ اﺳـﺘﻔﺎده ﻣـﻲ ﻛﻨـﯿﻢ در ﻓـﻀﺎی ﻧـﺎم System واﻗﻊ ﺷﺪه اﺳﺖ. ﻳﺎ ﺑﺎﻳﺪ در اﺑﺘﺪای ﺑﺮﻧﺎﻣﻪ ذﻛﺮ ﻛﺮد ; using Systemو ﺳـﭙﺲ ﺧﯿﻠـﻲ راﺣـﺖ از اﻳـﻦ ﺷـﻲء اﺳـﺘﻔﺎده ﻛﺮد و ﻳﺎ ﻣﻲ ﺗﻮان اﻳﻨﻜﺎر را اﻧﺠﺎم ﻧﺪاد و ﻧﻮﺷﺖ : System.Consoleو اﻟﻲ آﺧﺮ. ﺑﺎ ذﻛﺮ ﻓﻀﺎی ﻧﺎم در اﺑﺘﺪا ﺑﺎ اﺳـﺘﻔﺎده از using ﻣﻲ ﺗﻮان ﺧﻼﺻﻪ ﻧﻮﻳﺴﻲ ﻛﺮد.
ﻣﺤﺘﻮﻳﺎت ﻓﺎﻳﻞ clsDate.csﻛﻪ ﺑﻪ ﺑﺮﻧﺎﻣﻪ اﺿﺎﻓﻪ ﻛﺮدﻳﻢ:
clsDate m_var = new clsDate(); // initialize variable
;( Console.WriteLine ( m_var.currentSystemDate
!Console.ReadLine(); //pause
;( Console.WriteLine ( m_var.currentSystemDate
!Console.ReadLine(); //pause
ﺗﻮﺿﯿﺢ ﻛﺪ ﻓﻮق :
ﺑﺮای اﺳﺘﻔﺎده از ﻳﻚ ﻛﻼس ﺑﺎﻳﺪ ﻳﻚ ﻣﺘﻐﯿﺮ از آن را ﺗﻌﺮﻳﻒ ﻛﻨﯿﻢ. در ھﺮ زﺑﺎﻧﻲ ﻳﻚ ﺳﺮی ﻧـﻮع ھـﺎی اﺳـﺘﺎﻧﺪارد ﻣﺎﻧﻨـﺪ int و string و ﻏﯿﺮه وﺟﻮد دارﻧﺪ. ﻛﻼس ھﻢ در ﺣﻘﯿﻘﺖ ﻳﻚ ﻧـﻮع داده ی ﺑـﺴﯿﺎر ﺑـﺴﯿﺎر ﻗﺪرﺗﻤﻨـﺪ ﺑـﻪ ﺷـﻤﺎر ﻣـﻲ آﻳـﺪ. ﺑﺮای ﺗﻌﺮﻳﻒ ﻳﻚ ﻣﺘﻐﯿﺮ از ﻧﻮع ﺟﺪﻳﺪ روش ﻛﺎر ﻣﺎﻧﻨﺪ ﺳﺎﺑﻖ اﺳﺖ. ﺑﺮای ﻣﺜﺎل زﻣﺎﻧﻲ ﻛﻪ ﻳﻚ ﻣﺘﻐﯿﺮ ﻋﺪد ﺻﺤﯿﺢ را ﺗﻌﺮﻳـﻒ ﻣﻲ ﻛﻨﯿﺪ ﺑﻪ ﺻﻮرت زﻳﺮ ﻋﻤﻞ ﻣﻲ ﺷﻮد :
;۰=int i
ﺑﺮای ﺗﻌﺮﻳﻒ ﻳﻚ ﻣﺘﻐﯿﺮ از ﻧﻮع داده ای ﻛﻪ ﺧﻮدﻣﺎن ﺗﻌﺮﻳﻒ ﻛﺮده اﻳﻢ ﻧﯿﺰ ﺑﺎﻳﺪ ﺑﻪ ھﻤﯿﻦ ﺻﻮرت ﻋﻤﻞ ﺷﻮد.
;()clsDate m_var = new clsDate
از ﻛﻠﻤﻪ ی ﻛﻠﯿﺪی newاﻳﻨﺠﺎ ﺑﻪ ﺻـﻮرت اﺳـﺘﺎﻧﺪارد ﺑـﺮای ﻣﻘـﺪار دھـﻲ اوﻟﯿـﻪ ﺑـﻪ اﻳـﻦ ﻣﺘﻐﯿـﺮ ﺟﺪﻳـﺪ اﺳـﺘﻔﺎده ﻣـﻲ ﻧﻤﺎﻳﯿﻢ.
ﺳﭙﺲ ﺑﻪ روش دﺳﺘﯿﺎﺑﻲ ﺑﻪ اﻳﻦ ﺧﺎﺻﯿﺘﻲ ﻛﻪ ﺑﻪ ﻛﻼس اﺿﺎﻓﻪ ﻛﺮده اﻳﻢ ﻣﻲ رﺳﯿﻢ.
m_var.currentSystemDate
ﻛﻼ ﭼﻪ ﻳﻚ ﺧﺎﺻﯿﺖ و ﻳﺎ ﻳﻚ ﻣﺘﺪ را ﺑﻪ ﻛﻼس اﺿﺎﻓﻪ ﻧﻤﺎﻳﯿﻢ ﺑﺮای دﺳﺘﯿﺎﺑﻲ ﺑـﻪ آن از ﻋﻤﻠﮕـﺮ ﻧﻘﻄـﻪ ﭘـﺲ از ذﻛـﺮ ﻧـﺎم ﻣﺘﻐﯿﺮ ﺗﻌﺮﻳﻒ ﺷﺪه از ﻧﻮع ﻛﻼس ﺧﻮد ، اﺳﺘﻔﺎده ﻣﻲ ﻧﻤﺎﻳﯿﻢ. ﺑﺮای اﺳﺘﻔﺎده از ﺧﺎﺻﯿﺖ ھـﺎ ﻧﯿـﺎزی ﺑـﻪ آوردن () ﺑﻌـﺪ از ذﻛﺮ ﻧﺎم ﺧﺎﺻﯿﺖ ﻧﻤﻲ ﺑﺎﺷﺪ.
ﻋﻤﻮﻣﺎ از ﺧﺎﺻﯿﺖ ھﺎ ﺑﺮای ﺑﺮﮔﺮداﻧﺪن و ﻳﺎ ﺗﻨﻈﯿﻢ ﻳﻚ ﻣﻘﺪار ﺳﺎده اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد و در آﻧﮫـﺎ ﻋﻤﻠﯿـﺎت ﭘﯿﭽﯿـﺪه ای ﻣﺪ ﻧﻈﺮ ﻧﻤﻲ ﺑﺎﺷﺪ.
; () System.DateTime.Today.ToString
ﺗﻮﺿﯿﺤﻲ در ﻣﻮرد اﺳﺘﻔﺎده از ﺧﻮاص :ﺷﻤﺎ ﺑﻪ وﻳﮋﮔﻲ ھﺎی ﻳﻚ ﺷﻲء ﺑﺎ اﺳﺘﻔﺎده از ﺧﻮاص آن ﻣﻲ ﺗﻮاﻧﯿـﺪ دﺳﺘﺮﺳـﻲ ﭘﯿـﺪا ﻛﻨﯿـﺪ. ﻳـﻚ property ﻋـﻀﻮی اﺳﺖ ﻛﻪ اﻣﻜﺎن دﺳﺘﺮﺳﻲ ﺑﻪ وﻳﮋﮔﻲ ﺷﻲء ﻳﺎ ﻛﻼس را ﻓﺮاھﻢ ﻣﻲ ﻛﻨﺪ. ﺑﺮای ﻣﺜﺎل ﻃﻮل ﻳﻚ رﺷﺘﻪ ( ، (stringﺳـﺎﻳﺰ ﻳﻚ ﻓﻮﻧﺖ ، ﻋﻨﻮان ﻳﻚ ﻓﺮم و ﻧﺎم ﻳﻚ ﻣﺼﺮف ﻛﻨﻨﺪه ، ﺧﺎﺻﯿﺖ ھﺴﺘﻨﺪ .
ﺑﺴﯿﺎری از اﺷﯿﺎء ذاﺗﻲ دات ﻧﺖ ﻓﺮﻳﻢ ورک ، ﺧﻮاص ﻣﻔﯿﺪ زﻳﺎدی را ﺑﻪ ھﻤﺮاه دارﻧﺪ. ﺑﺮای ﻣﺜﺎل ﺷـﻲء DateTime را در ﻧﻈﺮ ﺑﮕﯿﺮﻳﺪ. ﺑﺎ اﺳﺘﻔﺎده از ﺧﺎﺻﯿﺖ Todayآن ﻣﻲ ﺗﻮان ﺗﺎرﻳﺦ ﺟﺎری ﺳﯿﺴﺘﻢ را ﺑﺪﺳﺖ آورد. ﺑﺮای اﺳـﺘﻔﺎده از ﻳـﻚ ﺧﺎﺻﯿﺖ ﻻزم اﺳﺖ ﺗﺎ ﻛﻼس ﺗﻌﺮﻳﻒ ﻛﻨﻨﺪه ﺷﻲء در ﺑﺮﻧﺎﻣﻪ ﻣﮫﯿﺎ ﺑﺎﺷﺪ. ﻣﻨﻈﻮر ھﻤﺎن اﺳـﺘﻔﺎده از ﻓـﻀﺎی ﻧـﺎم ﻣﺮﺑﻮﻃـﻪ ﻣﻲ ﺑﺎﺷﺪ. ﭘﺲ از وارد ﻛﺮدن ﻓﻀﺎی ﻧﺎم ﻛﻼس ﻣﻮرد ﻧﻈﺮ ﻣﻲ ﺗﻮاﻧﯿﺪ از ﺷﻲء و ﺧﻮاص آن اﺳﺘﻔﺎده ﻛﻨﯿﺪ. دو راه وﺟﻮد دارد ﻳﺎ ﺑﻪ ﺻﻮرت ﻛﺎﻣﻞ ﺗﻤﺎم ﻣـﻮارد ﺑﺎﻳـﺪ ذﻛـﺮ ﺷـﻮﻧﺪ ﻣﺎﻧﻨـﺪ ; System.DateTime.Nowو ﻳـﺎ ﺑـﺎ وارد ﻛـﺮدن ﻓـﻀﺎی ﻧـﺎم Systemﻛﻮﺗﺎه ﺳﺎزی ﺻﻮرت ﻣﻲ ﮔﯿﺮد.
ﺑﺮای اﺳﺘﻔﺎده از ھﺮ ﻣﺘﺪ و ﻳﺎ ﺷﻲء اﻳﻲ در ﺳﻲ ﺷﺎرپ ﺑﺎﻳﺪ اﻳﻦ ﺷﻲء ﻗﺎﺑـﻞ دﺳﺘﺮﺳـﻲ ﺑﺎﺷـﺪ. ﺑـﺮای ﻣﺜـﺎل ﺷـﻲء Console ﻛﻪ از آن ﺑﺮای ﭼﺎپ ﻛﺮدن ﺧﺮوﺟﻲ ﺑـﺮ روی ﺻـﻔﺤﻪ ی ﻧﻤـﺎﻳﺶ اﺳـﺘﻔﺎده ﻣـﻲ ﻛﻨـﯿﻢ در ﻓـﻀﺎی ﻧـﺎم System واﻗﻊ ﺷﺪه اﺳﺖ. ﻳﺎ ﺑﺎﻳﺪ در اﺑﺘﺪای ﺑﺮﻧﺎﻣﻪ ذﻛﺮ ﻛﺮد ; using Systemو ﺳـﭙﺲ ﺧﯿﻠـﻲ راﺣـﺖ از اﻳـﻦ ﺷـﻲء اﺳـﺘﻔﺎده ﻛﺮد و ﻳﺎ ﻣﻲ ﺗﻮان اﻳﻨﻜﺎر را اﻧﺠﺎم ﻧﺪاد و ﻧﻮﺷﺖ : System.Consoleو اﻟﻲ آﺧﺮ. ﺑﺎ ذﻛﺮ ﻓﻀﺎی ﻧﺎم در اﺑﺘﺪا ﺑﺎ اﺳـﺘﻔﺎده از using ﻣﻲ ﺗﻮان ﺧﻼﺻﻪ ﻧﻮﻳﺴﻲ ﻛﺮد.
ﻧﺘﯿﺠﻪ ی ﻧﮫﺎﻳﻲ ﻣﺜﺎل اﻳﻦ ﻓﺼﻞ :
ﻣﺤﺘﻮﻳﺎت ﻓﺎﻳﻞ : Class۱.cs
;using System
namespace ex۳۰
}
<///.۱/// Summary description for Class
</// ۱class Class
}
<///./// The main entry point for the application
</// [[STAThread
(static void Main(string[] args
}
clsDate m_var = new clsDate(); // initialize variable
;( Console.WriteLine ( m_var.currentSystemDate
!Console.ReadLine(); //pause
{
{
{
namespace ex۳۰
}
<///
<///
}
<///
<///
(static void Main(string[] args
}
clsDate m_var = new clsDate(); // initialize variable
;( Console.WriteLine ( m_var.currentSystemDate
!Console.ReadLine(); //pause
{
{
{
ﻣﺤﺘﻮﻳﺎت ﻓﺎﻳﻞ clsDate.csﻛﻪ ﺑﻪ ﺑﺮﻧﺎﻣﻪ اﺿﺎﻓﻪ ﻛﺮدﻳﻢ:
;using System
namespace ex۳۰
}
<///./// Summary description for clsDate
namespace ex۳۰
}
<///
<///
public class clsDate
}
()public clsDate
}
//
// TODO: Add constructor logic here
//
{
public string currentSystemDate
}
get
}
; ()return System.DateTime.Today.ToString
{
{
{
{
}
()public clsDate
}
//
// TODO: Add constructor logic here
//
{
public string currentSystemDate
}
get
}
; ()return System.DateTime.Today.ToString
{
{
{
{
+ نوشته شده در چهارشنبه دوازدهم بهمن ۱۳۹۰ ساعت 0:37 توسط محسن زاده
|