Абстракция дегеніміз не? Абстракция әдісі және оның мақсаттары. Абстракция – бұл не және абстракциялық ойлау (абстракция) мәнді көруге қалай көмектеседі?

Абстракция- әдіс ғылыми білімберілген есептерді шешу үшін маңызды емес зерттелетін объектінің бірқатар қасиеттерінен, байланыстары мен қатынастарынан ойша абстракциялау операциясы түрінде. Зейінді аудару операциясы операцияға тең разряднысанда маңыздықасиеттері, байланыстары мен қатынастары. Нәтижеабстракциялау процесі деп аталады абстракциялар(латын тілінен аударғанда – алаңдату) немесе дерексіз объектілер.

Бір реттік абстракциялық цикл екі сатылы сипатқа ие. Бірінші кезеңдеабстракциялық, маңызды емес қасиеттер мен байланыстарды елемеуге болатыны анықталып, маңыздысы маңызды еместен бөлініп, зерттеуші үшін ең маңыздысы және қызықтысы анықталады. Мұндай оқшаулаудың объективті негізі зерттелетін құбылыстардың және олардың құрамдас бөліктерінің белгілі бір факторларға салыстырмалы тәуелсіздігі немесе елеусіз тәуелділігі болып табылады.

Абстракциялау актісіне дайындық (зейінді аудару) біріншіден, белгілі бір сыныптың көптеген объектілеріне не ортақ екенін анықтаудан тұрады. Мәселен, мысалы, абстракцияны қалыптастыруға дайындық « тірі жаратылыс«барлық тіршілік иелеріне ортақ нәрсені және сонымен бірге оларды жансыз заттардан айыратын нәрсені ашуды талап етеді. Бұл қасиет метаболизмге қабілетті. «Адам» абстракциясы үшін қоршаған ортаны саналы түрде бейнелеудің айрықша белгілері ортақ және маңызды болады; бір-біріне айырбастауға болатын барлық қолданыстағы тауарлар үшін айырбас құны түсінігі болады және т.б.

Екіншіден, зерттелетін құбылыстардың белгілі бір факторларға тәуелсіздігін немесе елеусіз тәуелділігін орнатуда. Осылайша, бір-біріне қарай жылжып келе жатқан көліктердің кездесу сәті мәселесін шешу үшін олар алаңдатады географиялық орналасуықозғалыстың бастапқы нүктелері. Бұл жерде маңызды нәрсе - қашықтық. Мәселені шешетін адам автомобильдердің брендінен, олардың массасынан және жалпы автомобильден алаңдатады, оларды жол сегментіндегі нүктелермен ауыстырады, өйткені мәселені шешу үшін тек жылдамдық қажет. Оның үстіне кез келген мәселе абстракциясыз шешілмейтін болып шығады.

Екінші кезеңабстракция, дұрыс мағынада, абстракция әрекеті, зерттелетін объектіні басқа, баламалы, қасиеттері жағынан онша бай емес, біріншінің «үлгісі» ретінде әрекет етуден тұрады. Осылайша, жоғарыда қарастырылған мысалда машиналарға қатысты мәселе екі нүктенің қозғалысының диаграммасымен ауыстырылады, бұл зерттелетін құбылысты жеңілдетеді және процесті оның «таза» түрінде қарастыруға мүмкіндік береді.

Абстракция операциясын нақты және дерексіз нысандарға қайталап қолдануға болады. Абстракцияның бір деңгейінен екіншісіне өту, бірқатар қасиеттерден бірте-бірте абстракциялау, (тапсырмаға байланысты) жалпылық дәрежесіндегі абстракцияларды алады, мысалы, белгілі бір адамның көптеген қасиеттерінен абстракциялау. абстрактілі тізбекті құруға болады: адам - ​​адам - ​​тірі жан - материалдық объект - материяның биологиялық формасы - материя. Сіз көріп тұрғаныңыздай, жоғары формаларабстракциялар философиялық категориялар және олардың жүйелері.


Айырмашылыққа негізделген мақсатты сипаттамалар, қазіргі ғылымда ең көп қолданылатын абстракциялардың келесі негізгі түрлері:

1. Абстракцияны оқшаулау.Ол белгілі бір объектіге тән қасиеттер мен қатынастарды анықтауды, осы қасиеттер мен қатынастарды объектінің өзінен ойша ажыратуды, оларға тәуелсіз болмыс мәртебесін беруді қамтиды. Мұндай абстрактілі объектілерге мысал ретінде келесі ұғымдарды келтіруге болады: ерігіштік, тұрақтылық, сенімділік, әдемілік, қарапайымдылық, ақтық және т.б.

2. Абстракцияны жалпылау.Мұнда олар үзіліс жасайды жеке ерекшеліктеріжәне оларды ерекшелейтін объектілердің ерекшеліктері ортақ ерекшеліктері, бұл объектілердің сыныптарын қарастыруға мүмкіндік береді. Осылайша, металл өңдеуде қолданылатын кескіштер, бұрғылар, брошельдер, файлдар, кескіштер және т.б. жалпылаушы абстракцияның көмегімен олар «металл кескіш құрал» сыныбының тұжырымдамасын құрайды.

3. Потенциалды орындылықты абстракциялау,онда олар адам өмірінің кеңістік пен уақыттағы шектеулерімен байланысты адам санасының конструктивті мүмкіндіктерінің нақты шекарасынан алшақтайды. Осы тұрғыдан алғанда, шексіздік енді тікелей берілген және нақты емес, потенциалды түрде жүзеге асырылатын болып көрінеді. Бұл абстракция конструктивті математиканың, алгоритмдер теориясының, дерексіз автоматтардың және басқа теориялардың негізінде жатыр.

4. Абстракцияөнім ретінде идеализация,нақты объектілердің қасиеттерінен шектен тыс абстракциялау арқылы қалыптасады. Алынған абстракциялар (идеалданған объектілер) ғылымда кең тараған: нүкте, түзу, инерция, нүктелік электр заряды, қара дене, сығылмайтын сұйықтық, үздіксіз орта, идеал газ. Идеалданған объектілер ұғымдардың маңызды арсеналын құрайды ғылыми білім, онсыз ол жұмыс істей алмайды.

Абстракциялар жүйесі ғылыми тіл,олар арқылы ұғымдар қалыптасады және тұжырымдалады: ғылыми факт, ғылыми мәселе, ғылыми идея, ғылыми гипотеза, ғылыми құқық, ғылыми теория.

Абстракция (бұл термин латынның abstractio сөзінен шыққан, назар аудару дегенді білдіреді) жағдайға, адамға немесе объектіге жеке қабылдау нүктесінен қарауды анықтайды. Осылайша, ерекшеліктерден алшақтау және жалпы жағдайды бағалау мүмкіндігі бар. Абстракция ұғымы ойналды маңызды рөлкөптеген ғылымдардың дамуында.

Абстракция – мысал

Кез келген абстракция екі әрекетті қажет етеді: біріншісі – ұсақ және елеусіз детальдар, екіншісі – құбылысқа жалпы және маңызды, мәнді бөлшектерге назар аудару.

Мысалы, қозғалысты зерттеу үшін оның барлық түрлеріндегі қисық сызықты қозғалыс алдымен тасталады, содан кейін жеделдетілген қозғалыс, соңында оның мәнін көрсететін ең таза және қарапайым түрі қарастырылады. Осылайша, абстракция - идеалды жағдайларға назар аудару үрдісі.

Бұл қарапайым болып көрінгенімен, ең маңызды ұғымдарды - жылдамдық, уақыт, қашықтық және т.б. оқшаулауға және зерттеуге мүмкіндік берген абстракция болды. Бұдан абстракцияның таным әдісі екенін көреміз.

Бұл әдіс маңыздылығы азырақ, екіншіліктен бас тартуға және ең маңыздысына шоғырлануға мүмкіндік береді. Жасыратыны жоқ, адам өмірінде негізгі бағытты шешу маңызды болатын жағдайлар жиі туындайды және энергияны босқа ысырап етпеу, ұсақ-түйекке шашу. Абстракция сізге осы негізгі мәселені шешуге көмектеседі. Абстракция және нақтылау

Әр ұғымның қарама-қарсылығы болады. Абстракциялау мен нақтылау жақыннан және алыстан қарау сияқты. Жақын тұра отырып, сіз бәрін егжей-тегжейлі қарастырасыз (конкретизация), ал алыста тұрсаңыз, сіз егжей-тегжейге алаңдамай (абстракция) ұғымды тұтастай бағалай аласыз. Демек, бұл екі қарама-қарсы ұғым.

Мұны мысалмен көрсету оңай. Егер сіз «арықтаймын» десеңіз, бұл абстракция. Егер сіз: «Мен тәттілерден бас тартып, таңертеңгі жүгіруге барамын» десеңіз, бұл нақты.

Абстракция әдісі және оның мақсаттары

Психологиядағы және басқа ғылымдардағы абстракция құбылыстың, объектінің немесе адамның мәнін тереңірек түсінуге көмектесетін мақсаттардың тұтас кешеніне қол жеткізуге мүмкіндік береді. Бұл аналитикалық әдіссериядан бас тартуға мүмкіндік береді нақты жағдайларжәне келесі мақсаттарға қол жеткізетін үлкен суретке қараңыз:

Абстракцияны әртүрлі жағдайларда қолдануға болады. Елеусіз бөлшектерден алшақтай отырып, қызығушылық құбылысының мәніне шоғырлану әлдеқайда оңай.

Абстракция (abstractio – зейінді аудару) – адамның зейінінің шоғырлану орны, жағдайға (адамға, затқа, т.б.) қабылдаудың үшінші позициясынан қарау, өзін жағдайдан тыс, өзінен жоғары қою. жағдай. Абстракция екі кезеңде жүзеге асады: бір жағынан ол ұсақ, елеусіз бөлшектерден алшақтайды, екінші жағынан жалпы және маңыздырақ нәрселерге шоғырланады.

Метафора ретінде: объектіні жақыннан қарауға болады және көптеген ұсақ бөлшектер көзге түседі, бірақ объектіні алысырақ орналастырсаңыз, ұсақ бөлшектер көрінбейді, бірақ объектінің жалпы контуры мен пішінін көру оңайырақ болады. объект.

Абстракцияның нәтижесі деп аталады.

Концептуалды қатар

Абстракция, керісінше, . Егер абстракция зерттелетін пәннен алыстап бара жатса, онда нақтылау керісінше болады: ең ұсақ бөлшектерге жақындау және ерекшелеу.

Мысалы: Мен жетекшілік етемін сау бейнеөмір - жалпы сөздер мен абстракция.

Мен күніне 15 минут жаттығулар жасаймын және күн сайын суық сумен жуамын - бұл ерекше.

Абстракцияның мақсаттары:

  • Сәйкестендіру, іздеу ортақ ерекшеліктері . Бұл жағдайда бір объектіні (жағдайды, адамды) екіншісінен ажырататын белгілер назардан тыс қалып, олардың арасындағы ортақ нәрсеге назар аударылады.
  • Жалпылау және жүйелеу. Бұл жағдайда, керісінше, негізгі айырмашылықтар назарға түседі, оған сәйкес объектілерді тәуелсіз және оңай ажыратылатын топтарға бөлуге болады. Мысалы, менің бір күнге нақты мақсатым бар, бірақ бір айда 30 күн бар, егер мен әр күннің мақсатын жалпылайтын болсам, мен айдың мақсатын аламын. Айлар жылды құрайды - айдағы мақсаттарды қорытындылайық және жылдағы мақсаттарды алайық және т.б.
  • Сөздің анықтығы мен ерекшелігі.Бұл жағдайда назар белгілі бір ұғымға аударылады - тек оның нені білдіреді. Қалғанының бәрі назардан тыс болып шығады. Мысалы, мен «өсу» сөзін айтсам, мен тек сандық өзгерістер процесін ғана айтамын, «даму» дегенде – қатаң түрде сапалық өзгерістер үдерісі. Бұл жағдайда абстракцияның міндеті ұғымдарды ажырату болып табылады: бір ұғымның шекарасы нені білдіреді және қай жерде, қай жерде - екінші ұғым.
  • Үлгі жасау.Егер мені бастапқы нүкте ретінде алатын объектінің белгілі бір қасиеті қызықтырса, мен оны саналы түрде атап өтемін және оны асыра сілтеп, «эквиваленттің тазалығына» жеткіземін. Яғни, мен нақты әлемде мұндай сапаның таза күйінде болуы мүмкін емес екенін білемін - бірақ мен оны үлгі (немесе бастау үшін бастапқы нүкте) болатындай етіп саналы түрде енгіземін. Мысалы, Евклид өзінің геометриясын Евклид түсінген мағынада нақты әлемде жоқ негізгі терминдер «нүкте», «түзу» және «жазықтық» негізінде жасады.

Абстракция не үшін қажет?

Өмірге мақсат қою

Өмірде абстракция нақты мақсаттарды тұжырымдауға болатын жалпы бағытты белгілеуге көмектеседі. Мысалы, адам өмірінің жалпы бағытын өзі анықтайды (адам өмірінің жолдарын қараңыз) - ал оның істейтіні екінші дәрежелі. Жалпы бағытты таңдаудан бастап, ең ұсақ бөлшектерге дейін ерекшеліктермен аяқтау оңайырақ және дұрысырақ.

Эмоциялық күйлердің қалыптасуы

Мысалы, ертегіден дерексіз және қажет болғанда шындықта өмір сүріңіз немесе керісінше.

Параметр аты Мағынасы
Мақаланың тақырыбы: Абстракция
Рубрика (тақырыптық санат) Бағдарламалау

ОБЪЕКТІ МОДЕЛІ

Объектілі-бағытталған тәсіл деп аталатын принциптер жиынтығына негізделген объектінің моделі .

Негізгі принциптері: абстракция, инкапсуляция, модульдік, иерархия. Оларсыз модель объектілі-бағытталған болмайды деген мағынада маңызды.

Негізгілеріне қоса, біз үш қосымша принципті атаймыз: теру, параллелизм, табандылық. Оларды міндетті емес деп атай отырып, біз олардың нысан үлгісінде пайдалы екенін, бірақ талап етілмейтінін айтамыз.

Адамдар күрделілікпен күресудің өте тиімді технологиясын жасады. Біз одан өзімізді абстракциялаймыз. Егер біз күрделі нысанды толығымен қайта жасай алмасақ, онда біз өте маңызды емес бөлшектерді елемеуіміз керек. Нәтижесінде біз объектінің жалпыланған, идеалдандырылған моделімен айналысамыз.

Мысалы, өсімдіктердегі фотосинтез процесін зерттегенде біз назар аударамыз химиялық реакцияларжапырақтың белгілі бір жасушаларында және қалған бөліктеріне назар аудармайды - кесінділерге, тамырларға және т.б.

Абстракция– белгілі бір объектінің оны барлық басқа объектілер түрлерінен ерекшелендіретін және, осылайша, әрі қарай қарастыру және талдау тұрғысынан осы объектінің белгілерін нақты анықтайтын маңызды сипаттамаларының жиынтығы.

Абстракция– мәселенің пәндік аймағындағы абстракцияларды оқшаулау процесі.

Абстракция назарды аударады сыртқы ерекшеліктеріобъект болып табылады және мінез-құлықтың маңызды белгілерін маңызды еместен ажыратуға мүмкіндік береді. Бұл мағына мен іске асырудың бөлінуі деп аталады абстракциялық кедергі . Абстракцияға бір немесе басқа кедергіні орнату бір объект немесе құбылыс үшін көптеген әртүрлі абстракцияларды тудырады. нақты әлем. Шындықтың көрінуінің әртүрлі аспектілерінен азды-көпті дәрежеде абстракциялай отырып, біз әртүрлі абстракция деңгейлері .

Мысалы, компьютердің жүйелік блогын қарастырайық. Мәтінді теру үшін компьютерді пайдаланатын пайдаланушы үшін бұл блоктың қандай бөліктерден тұратыны маңызды емес. Айта кету керек, ол үшін бұл түймелері бар қорап және сыртқы жад құрылғыларын қосу мүмкіндігі. Ол «процессор» немесе «ЖЖҚ» сияқты ұғымдардан абстракцияланады. Екінші жағынан, төменгі деңгейлі тілдерде бағдарламалар жазатын программист үшін абстракциялық кедергі әлдеқайда төмен. Ол үшін процессор құрылымын және ол түсінетін командаларды білу өте маңызды.

Пайдалы тағы бір қосымша принцип деп аталады ең аз таңдану принципі . Оның пікірінше, абстракция объектінің барлық мінез-құлқын қамтуы керек, бірақ артық және кем емес және оның қолдану аясынан тыс тосын немесе жанама әсерлерді енгізбеуі керек.

Барлық абстракциялардың статикалық және динамикалық қасиеттері бар. Мысалы, файл объект ретінде белгілі бір құрылғыда белгілі бір жад көлемін қажет етеді, аты мен мазмұны бар. Бұл атрибуттар статикалық сипаттар болып табылады. Көрсетілген қасиеттердің әрқайсысының нақты мәндері динамикалық және объектіні пайдалану кезінде өзгереді: файлды көбейтуге немесе азайтуға, оның атауын және мазмұнын өзгертуге болады.

Біз қоңырау шаламыз клиент деп аталатын басқа объектінің ресурстарын пайдаланатын кез келген нысан сервер . Біз объектінің әрекетін оның басқа объектілерге көрсететін қызметтерімен және басқа объектілермен орындайтын операцияларымен сипаттаймыз. Бұл тәсіл назарды объектінің сыртқы көріністеріне аударады және аталғандарды жүзеге асырады келісім-шарттық бағдарламалау моделі . Бұл модель келесідей: объектінің сыртқы көрінісі оның басқа объектілермен келісім шарты тұрғысынан қарастырылады және оның ішкі құрылымы осыған сәйкес жүзеге асырылуы керек (көбінесе басқа объектілермен өзара әрекеттесу). Келісімшарт сервер нысанының клиент нысанына қатысты барлық міндеттемелерін бекітеді. Басқаша айтқанда, бұл шарт анықтайды жауапкершілік объект - ол жауапты болатын мінез-құлық.

Келісімшартта қарастырылған әрбір операция онымен нақты анықталады қол қою – формальды параметр түрлерінің тізімі және қайтарылатын мән түрі (С++ тілінде қайтарылатын мән түрі қолтаңбаның бөлігі емес). Толық жиынтықКлиент басқа объектіде орындай алатын операцияларды және осы операцияларды шақыру реті дұрыс деп аталады. хаттама . Протокол объектінің әрекет етуінің немесе оған әсер етуінің барлық мүмкін жолдарын көрсетеді. Осылайша, хаттама абстракцияның сыртқы әрекетін толығымен анықтайды.

Мысал.
ref.rf сайтында жарияланған
Гидропоникалық жылыжайда өсімдіктер құм, қиыршық тас немесе басқа топырақсыз қоректік ерітіндіде өсіріледі. Жылыжай қондырғысының жұмыс режимін басқару өте жауапты мәселе. Бұл өсірілетін дақылдардың түріне де, өсіру кезеңіне де байланысты. Бірқатар факторларды бақылау қажет: температура, ылғалдылық, жарықтандыру, қышқылдық және концентрация қоректік заттар. Бұл мәселені шешу үшін ірі шаруашылықтар осы факторларды бақылайтын және реттейтін автоматты жүйелерді жиі пайдаланады. Мұндағы автоматтандырудың мақсаты - адамның ең аз араласуымен өсіру режимін сақтауға қол жеткізу.

Бұл мәселедегі негізгі абстракциялардың бірі сенсор . Датчиктердің бірнеше түрлері белгілі. Өнімділікке әсер ететін барлық нәрсені өлшеу керек. Дегенмен, су температурасы, ауа температурасы, ылғалдылық, қышқылдық, жарықтандыру және қоректік заттардың концентрациясы үшін сенсорлар қажет.

Сыртқы жағынан температура сенсоры - өзі орналасқан жерде температураны өлшеуге қабілетті объект. Температура - шектеулі мәндер диапазоны мен белгілі бір дәлдікке ие және Цельсий бойынша бірнеше градусты білдіретін сандық параметр.

Сенсордың орналасуы жылыжайда ерекше анықталған орын емес, оның температурасын білу өте маңызды. Мұндай орындар аз шығар. Температура сенсоры үшін орынның өзі емес, тек осы сенсордың дәл осы жерде орналасқаны маңызды.

C++ тілінде абстракциямызды жүзеге асыру элементтерін қарастырайық.

typedef float Температура; // Цельсий бойынша температура

typedef unsigned int Location; // Бірегей анықтайтын сан

// сенсордың орны

Мұнда екі типті анықтау операторлары Температура және Орын ең қарапайым түрлерге ыңғайлы бүркеншік аттарды енгізеді және бұл бізге домен тілінде абстракцияларымызды көрсетуге мүмкіндік береді. Температура - температураларды жазу үшін өзгермелі нүкте пішіміндегі ϶ᴛᴏ сандық деректер түрі.
ref.rf сайтында жарияланған
Орын түрінің мәндері температура сенсорларын орналастыруға болатын орындарды нөмірлейді.

Температура сенсорының міндеттерін қарастырайық. Датчик өзінің орналасқан жеріндегі температураны білуі және сұраныс бойынша хабарлауы керек. Клиент сенсорға қатысты келесі әрекеттерді орындай алады: сенсорды калибрлеу және одан ағымдағы температура мәнін алу. Дегенмен, «Температура сенсоры» нысанында екі әрекет бар: «Калибрлеу» және «Ағымдағы температура».

struct TemperatureSensor ( // Температура сенсоры

Температура ағыныТемпература; // ағымдағы температура в

// сенсордың орны

Орналасқан жері; // сенсордың орны

void calibrate(Temperature actualTemperature); // калибрлеу

Температуралық токТемпература(); // ағымдағы температура

Бұл сипаттама температура сенсорының жаңа түрін ұсынады. Мұндағы маңызды нәрсе, біріншіден, деректер мен оны өзгертетін функциялар бір сипаттамада біріктіріледі, екіншіден, біз деректермен тікелей емес, тек сәйкес функциялар арқылы жұмыс жасаймыз. Атап айтқанда, бұл жерде біз аталғандарды қолдандық орнату- Және функцияларды алу , сәйкесінше айнымалы мәндерді орнату және қайтару (калибрлеу - орнатылған функция, ағымдағы температура - алу функциясы).

Бұл типтегі объектілер стандартты түрдегі айнымалылар сияқты енгізіледі:

Температура сенсоры TSensors; // типті жүз нысанның массиві

// Температура сенсоры

Декларацияның ішінде жарияланған функциялар шақырылады мүше функциялары . Оларды тек сәйкес түрдегі айнымалыға шақыруға болады. Мысалы, сенсорды келесідей калибрлеуге болады:

TSensors.calibrate(20.); // №3 сенсор калибрленген

Мүше функциясы шақырылатын нысанның атауы оған жанама түрде берілгендіктен, функция аргументтерінің тізімдерінде әрекеттер орындалатын арнайы сенсорды көрсететін TemperatureSensor түріндегі аргумент жоқ. Бұл нысанға осы көрсеткішті пайдаланып функция ішінде анық қол жеткізуге болады. Мысалы, калибрлеу функциясының негізгі бөлігінде екі баламалы оператордың бірін жазуға болады

this -> curTemperature = actualTemperature;

Абстракцияның негізгі идеясы инвариант ұғымы болып табылады. Инвариантты - ϶ᴛᴏ nonĸᴏᴛᴏᴩᴏᴇ логикалық шарт, оның мәні (ақиқат немесе жалған) сақталуы керек. Нысанның әрбір әрекеті үшін алғы шарттарды (ᴛ.ᴇ. операциямен қабылданатын инварианттар) және кейінгі шарттарды (ᴛ.ᴇ. операция қанағаттандыратын инварианттар) орнатуға болады.

АғымдағыТемпература операциясымен байланысты инварианттарды қарастырайық. Алғы шартқа сенсордың жылыжайда дұрыс жерде орнатылғаны туралы болжам кіреді, ал кейінгі шарт - сенсор Цельсий градусындағы температура мәнін қайтарады.

Инвариантты өзгерту абстракциямен байланысты шартты бұзады. Алдын ала шарт бұзылса, клиент өз міндеттемелерін орындамайды және сервер тапсырманы дұрыс орындай алмайды. Егер постшарт бұзылса, сервер өз міндеттемелерін бұзды және клиент енді оған сене алмайды.

Шарттарды тексеру үшін C++ тілі бірқатар арнайы құралдарды ұсынады.

Қандай да бір шарт бұзылса, а ерекше жағдай (ерекшелік) . Нысандар операцияның әрі қарай орындалуына жол бермеу үшін ерекшеліктерді шығара алады және басқа нысандарды мәселе туралы ескертеді, бұл өз кезегінде ерекше жағдайды ұстау және мәселені шешу үшін қабылдай алады. Бұл бөлудің себебі қатеге тап болған сервер нысаны оны түзету үшін не істеу керектігін білмеуі мүмкін, ал клиент нысаны не істеу керектігін біледі, бірақ оның қай жерде болғанын анықтай алмауы мүмкін.

C++ тілінде контекстке сезімтал ерекше жағдайларды өңдеу механизмі бар. Ерекше жағдайды шығаруға арналған мәтінмән - try блогы. Егер try блогының ішіндегі операторларды орындау кезінде ерекше жағдай орын алса, басқару catch кілт сөзімен көрсетілген және try блогының астында орналасқан ерекшелік өңдеушілеріне тасымалданады. Синтаксистік түрде catch өңдеушісі қайтару түрін көрсетпей бір аргументі бар функцияға ұқсайды. Бір сынақ блогы үшін аргумент түрінде ерекшеленетін бірнеше өңдегіштер көрсетілуі керек.

try( // сынақ блогы

catch(char * қате)(. . .) // өңдегіште қолданылатын аргумент аты

catch(int)(. . .) // өңдегіште аргумент аты қолданылмайды

catch(…)(. . .) // барлық ерекшеліктер өңделеді

Ерекшелік throw кілт сөзін қосымша өрнек аргументі арқылы көрсету арқылы шығарылады.

Ерекшелік параметр түрі лақтыру аргументінің түріне сәйкес келетін catch өңдеушісін шақыру арқылы өңделеді. Сәйкес өңдеушіні іздеу кезінде барлық өңдеушілер жазылған ретпен қаралады.

Егер кірістірілген try блоктары болса (мысалы, функция шақыруларының ұясына байланысты), ең терең блоктың өңдеушісі пайдаланылады. Егер осы деңгейде лақтыру аргументінің түріне сәйкес өңдегіш табылмаса, ағымдағы функция шығады (барлық жергілікті нысандарды жоюмен) және кірістіру тереңдігі кішірек сынақ блогында іздеу және т.б. Ерекшелік өңделгеннен кейін басқару ұстау өңдеушісінің сипаттамаларынан кейін мәлімдемеге тасымалданады.

Мысал.
ref.rf сайтында жарияланған
Тұрақты ұзындықты массив арқылы жүзеге асырылған стекті қарастырыңыз.

int стек; // стектегі жүзден аспайтын элементтер

int top=0; // элементті орналастыру үшін қолжетімді бос орындар саны

void push(int el) (

егер(жоғарғы = = 100) 1 лақтыру; // толып кетуді тексеру

// (алғы шарт жоғарғы< 100)

else стек = el; // элементті стекке итеріңіз

if(top = = 0) 0 лақтыру; // бостығын тексеру

// (алғы шарт жоғарғы > 0)

else қайтаратын стек[--жоғарғы]; // стектен элементті шығару

try( // сынақ блогы

if(i!=k) 2 лақтыру; // постшарт бұзылған

catch(int error)(. . .) // егер қате = 0 болса, онда стек бос;

// егер қате = 1 болса, онда стек толы; егер қате = 2 болса, онда стек сау емес

Мысалда тастау аргументі бүтін сан – ʼʼерекшелік саныʼʼ болып табылады. Күрделі бағдарламалар ерекше жағдайды өңдеушіге қосымша ақпаратты беру үшін арнайы ерекшелік түрлерін әзірлейді.

Абстракция – түсінігі және түрлері. «Абстракция» категориясының жіктелуі және ерекшеліктері 2017, 2018 ж.

Таным адам өмірінің маңызды құрамдас бөлігі болып табылады. Адам өзін қоршаған әлемді, сезімдерді, өмірдің өзін сезінеді. Ежелгі заманнан бері адамдар табиғатты, ғарышты және Жердегі тіршіліктің кез келген құбылысын түсінуге ұмтылды.

Адамды бәрі қызықтырады – гүлдің жапырақшалары, аспанда қалықтаған құс, мұхит толқындары, басқа планеталар. Білімге құштарлық – адамның табиғи қасиеті.

Дүниені түсінуге деген ұмтылыс адамзатты көбірек жаңа құралдар мен тұрмыстық заттарды жасауға итермеледі. Білімге құштарлық өркениеттің құрылуына және дамуына әкелді.

Абстракциясыз таным процесі соншалықты қызықты болмас еді. Абстракцияның көмегімен ежелгі адамдар Жерді және ғарышты сырттан көруге, сондай-ақ адамзаттың осы әлемдегі рөлін көруге ұмтылды.

Күнделікті өмірдегі абстракция

Абстракция адамға сырттан болып жатқан оқиғалар мен айналадағы шындықты ғана емес, өзін де көруге мүмкіндік береді. Ол сіздің әрекеттеріңіз бен мінез-құлқыңызды басқа көзқараспен көруге мүмкіндік береді, сіздің ұмтылыстарыңызды және белгілі бір әрекеттердің себептерін түсінуге көмектеседі.

Абстрактілі болу шындықты көрермен ретінде көру, барлық оқиғалардан тыс сезіну дегенді білдіреді. Бұл тәсілмен не болып жатқанына эмоционалды тәуелділік жойылады. Адамның бұрын байқамаған жаңа қырлары ашылады.

Абстракцияланған кезде мәселе басқа қырынан көрінеді. Жағдайды барлық жағынан көруге болады. Сондықтан бұл неліктен болғанын және бұл жағдайды қалай түзетуге болатынын түсінуге болады.

Мысалы, болды қиын жағдайтез арада шешуді қажет етеді. Мәселеге қатысы бар адам көрмейді мүмкін жолдарышешімдер. Ол өзін тұйыққа тіреді деп ойлайды. Мәселеден абстракциялау арқылы адам бұл жағдайда не істеу керектігін түсінеді.

Абстракцияның рөлі

Абстракция адамға өзін, әлемді және оны қызықтыратын барлық нәрсені толық түсінуге көмектеседі. Ал ең бастысы, абстракция Жердегі тіршіліктің мәнін, ғаламның сырын түсінуге және бұл өмірдегі өз рөліңізді түсінуге мүмкіндік береді.

Абстракциялық таным мен өзін-өзі танудың саналы процесі ретінде өзін жеке тұлға ретінде жүзеге асырған адамға тән. Екінші жағынан, кішкентай балалар да кейде өздері туралы үшінші жақтан айтады, олар өздерін сырттан бақылап тұрғандай. Балалар үшін абстракция процесі бейсаналық болуы мүмкін. Және бұл белгілі бір дәрежеде олар үшін өзін-өзі қорғау механизмі болып табылады.

Демек, адам үшін абстракция – дүние мен өмірді танудың негізгі қасиеті. Ол шындықты толық түсінуге мүмкіндік береді. Ал бұл қасиет адамға табиғаттың өзінен тән.