Public және Private кілтті сөзі. Сіз Private және Publiс кілтті сөздерімен алдыңғы мысалдарды, программалық модульмен жұмыс істегенде кездестіңіз. Бұл кілтті сөздер процедураның көріну алаңын анықтайды. Private кілтті сөзі процедураға жол ашады, тек модуль деңгейінде-бұл онымен тек объект жұмыс істей алатынын білдіреді, сол формада немесе модульде болатын. Public кілтті сөзін хабарланған процедураға және функцияға проектінің барлық деңгейінде қол жеткізуге болады. Яғни глобальді көріну аймағы бар. Көріну аймағы программаның функционалды мүмкіндіктерін тұрғызғанда маңызды. Келеде біз ол неге және қалай болатынын көреміз.
Жабық процедура(Private)
Программалық модульдер процедуралардан тұрады. Олар форманың және ондағы бар элементтің жұмысын қамтамасыз етеді. Алдыңғы мысалды форма үшін процедура оқиғаларында, Private кілтті сөзі Sub кілтті сөзінің алдында кездесетін. Private кілтті сөзі процедураны сипаттайды, ол басқа процедураларға қайда хабарланғанына байланыстысол формада немесе модульде қол жеткізуге болады. Ондай прцедуралар жабық деп аталады, өйткені бұл формадан тыс жерде шақыруға болмайды.
Егер \MSN\98vs\1023\Samples\Vb98\Controls
Каталогынен жоба мысалын шақырсақ, жоба терезесінен 7 форма көруге болады. Әрбір форманың файлы форманың және оған кіретін элементтерді сипаттайды.
Форма файлында сондай-ақ оқиғаның процедура тексті бар формамен байланысқан, олар форма коды деп аталады (code behind form-CBF). Форма коды форма модулі деп те аталады. Модуль дегеніміз процедураның жиынтығы, олар берілген форманың оқиғасын процедурасынан немесе сол модульдегі кез келген басқа процедурадан шақырылады.
Оқиғаның барлық процедурасы Private кілтті сөзінен басталады. Ол форма модулінен тыс жерде процедура шақырылмайтынын білдіреді.
Оның көріну аймағы модульмен шектеледі және формадан тыс жерде оған қол жеткізе алмаймыз. Басқа сөзбен айтқанда ол локальды болып табылады немесе жабық процедура. Келісім бойынша оқиғаның барлық процедуралары Private сөзімен бірге хабарланады. Сіз формаға жеке процедура енгізіп және оны қосымша деңгейінде Public кілтті сөзін қолдану арқылы қол жеткізе алатындай етіп істей аласыз (яғни ашық немесе глобальді). Бұндай процедураларды кез келген басқа формалардан шақыруға болады немесе жобаның стандартты модулінен. Егер Private немесе Public кілтті сөздері көрсетілмесе онда келісім бойынша процедура ашық деп есептелінеді.
Ашық процедура(Public)Кейбір жағдайда процедураға формадан тыс жерде қол жеткізе алатындай болу керек. Сіз жеке қосымшаңыздың формасына саймандар тақтасына батырма орнатқыңыз келеді. Мүмкін болатын жағдайдың бірі-процедураны программалық модулге орнату кез келген форма, элемент немесе процедура оған қол жеткізе алады. Басқа вариант-процедураны өзі жататын модулде қалдыру және хабарлау алдында Public кілтті сөзін көрсету. Бұл жағдайда да процедураға қол жеткізуге болады, сіздің қосымшаңыздың басқа компоненттері үшін.
Сіз кез келеген ашық немесе жабық процедураны орындай аласыз, оның атын сол формадағы басқа процедураға беру арқылы . Мыслы, егер сізде Test аты бар процедура болса, ол келесі жолдағыдай орындалады:
Test
Айтылға тек Sub процедурасына қатыстфы:функция кішкене басқаша шақырылады.
Әрекеттер. Класс әрекеті-модуль процедуралар сияқты мәнде. Әрекет атында көріну аймағы байланысты Private немесе Public модификаторы болуы мүмкін. Ашық (Public) әрекеті кластың программалық интерфейісін құрады және программа онымен ешқандай шектеусіз жұмыс істей алады. Жабық(Private)әрекеті ішкі операцияларды кластан тыс жерлерде қол жеткізуге болмайтын орындарда қолданылады.
Жабық әрекеттің мысалы ретінде мәліметтер қорынан функция алу әрекетін келтіруге болады. Мұндай деректерге қол жеткізуге шектелген болу керек, сондықтан олар жабық түрде алынады. Содан кейін сіз ашық әрекет жаза аласыз, оның ішінде жабық шақырылады. Келесі мысал банкомат жұмысын көрсететін класс:
Private Function GetBalance(AvvountNo As String) As Double
GetBalance=10000000
End Function
Public Function DisplayAccountInto(AccountNo As String, PIN As String) As Double
If AccountNo=“123456” And Pin= “5551289” Then
DisplayAccountInto=GetBalance(AcountNo)
End If
End Sub
Достарыңызбен бөлісу: |