Java тілінде терезелермен жұмыс істеуге арналған абстракциялар жиынтығы

Терезелермен жұмыс істеуге арналған абстракциялар жиынтығы
Обектілі бағытталған программалаудың қасиеттері:
— мұрагерлік (жаңа кластарды ескілердің негізінде құру мүмкіндіктері); -инкапсуляция (мəліметтер мен əдістерді программаның қалған бөлігінен ажырату мүмкіндігі); — полиморфизм (бір операцияны, егер олардың ортақ қасиеті болса,əртүрлі типтегі кластармен орындау мүмкіндігі).
Кластар – объектілі-бағытталған программалаудың негізі болып табылады. Жалпы айтқанда, кластар – бұл мəліметтерге айналу, оларды қолдану мен модификациялауға қажетті барлық əдістер мен мəліметтерді біріктіру тəсілі.Кластар екі негізгі компоненттен тұрады: жағдайы мен əдістері. Жағдай – бұл оның барлық айнымалыларының мəндері. Əдістер оның функционалды мүмкіндіктерін анықтайды.
Класты сипаттау class сөзінен басталады да, одан кейін кластың аты жазылады. Кластың аты бас əріппен жазылуы тиіс. Сlass сөзінің алдына класс модификаторларын жазуға болады.
Бұл public, abstract, final, strictfp сөздерініңбірі. Алынған классатыныңалдына protected, pri-vate, static модификаторларынқоюғаболады.
Алынған кластар мен интерфейстер, əдістер, өрістер кез келген ретпен жазылған кластың денесі ирек жақшаға алынады.
Өрісті сипаттау барысында оның типі, одан кейін бос орын, аты жəне теңдік белгісінен кейін тұрақты мəнермен жазуға болатын бастапқы мəні көрсетіледі.Өрісті сипаттау бір немесе бірнеше міндетті емесpublic, protected, private, static, final, transient, volatile модификаторларынан басталуы мүмкін. Əдісті сипаттауда оларға қайтарылған мəннің типі немесе void сөзі, одан кейін, бос орын арқылы əдістің аты,содан соң жақшаға алынып параметрлер тізбегі көрсетіледі. Ары қарай ирек жақшада орындалатын əдіс жазылады.
Əдісті сипаттау public, protected, private, abstract, static, final, synchronized, native, strictfp модификаторларынан басталуы мүмкін.
Параметрлер тізімінде үтір арқылы əр параметрдің атымен типі келтіріледі. Қандайда бір параметрдің типінің алдынд аfinal модификаторы тұруы мүмкін. Мұндай параметрді əдістің ішінде өзгертуге болмайды. Параметрлер тізімі жоқ болса да жақшалар сақталады.
Əдіс жұмысы басталмас бұрын əр параметр үшін əдіске айналғанда берілетін параметрдің мəні көшірілетін, жедел жады ұяшығы бөлінеді. Мұндай тəсіл параметрлерді мәні бойынша беру деп аталады.
Егер класты сипаттау барысында ешқандай кеңейтілу көрсетілмесе,яғни extends сөзі жəне кластың аты жазылмаса, онда Java бұл класты object класының кеңейтілуі деп есептейді жəне компилятор бұл кеңейтілуді үнсіз келісім бойынша ары қарай жазады:
class Pet extends Object{ . . . }
Бұл кеңейтілуді бұдан да ашып жазуға болады.
Оbject класының өзі ештеменің мұрагері емес,одан кез келген Java класының иерархиясы басталады. Демек, барлық массивтер — object класының тікелей мұрагерлері.
Оbject класы барлық кластардың жалпы қасиеттерінен тұратын болғандықтан,оған бірнеше жалпы əдістер ғана енгізілген,мысалы, берілген объектіні логикалық мəнді қайтаратын жəне аргументте берілген объектімен теңдікке салыстыратынequals() əдісі. Оны былай қолдануға болады:
Object objl = new Dog(), obj 2 = new Cat(); if (obj1.equals(obj2)) …
Конструктор ерекшеліктері:
• Конструктор кез-келген класта болады. Ол жазылмағанның өзінде Java компиляторы келісілген шартпен конструкторды өзі құрады, бірақ ол суперкласс конструкторын шақырудан басқа ешқандай іс-әрекет орындай алмайды.
• Жады мүмкіндігінше бөлініп, өрістер бос күйге келгеннен кейін,бірақ құрылатын объект қолданылғанға дейін класс көшірмесін құру кезінде конструктор автоматты түрде орындалады.
• Конструктор ешқандай мән қайтармайды. Сондықтан оның сипаттамасында void сөзі жазылмайды, бірақ public, protected немесе private тәрізді үш модификатордың бірін беруге болады.
• Конструктор әдіс емес, ол класс мүшесі болып та табылмайды.Сондықтан оны мұрагерленуге немесе ішкі класта қайта анықтауға болмайды.
• Конструктор денесі мына түрде басталуы мүмкін:
o суперкласс конструкторларының бірін шақыру кезінде, мұнда жақшада параметрлерімен (қажет жағдайда) super() сөзі жазылады;
o сол кластың басқа конструкторын шақыру кезінде,мұнда жақшада параметрлерімен (қажет жағдайда) this() сөзі жазылады.
Егер super() конструктордың басында көрсетілмесе, онда алдымен аргументсіз суперкласс конструкторы орындалады, содан кейін оларды жариялауда көрсетілген мәндері бар өрістердің инициализациясы орындалады, одан кейін ғана конструкторда жазылғандар орындалады.
Қалған барлық жағдайларда конструкторды қарапайым әдіс деп есептеуге болады,онда кез-келген операторды жазуға болады.Бір класта бірнеше конструкторлар болуы мүмкін. Оларда класс атымен сәйкес келетін бірдей аттар болатын болса,онда олар параметрлер типімен не/немесе санымен ерекшеленуі керек.
New операциясы массив пен объектілердің жадыларын белгілеу үшін қолданылады. Егер конструктор класта болмаса, онда үнсіз келісім бойынша конструктор шақырылады.
Кластың сандық өрістері нольдік мəндерді, логикалық өрістер — false мəнін, сілтемелер — null мəнін алады.
New операциясының нəтижесі құрылған объектіге сілтеме болып табылады.Бұл сілтеме берілген типке сілтеме типті айнамалымен меншіктелуі мүмкін:
Қосымша түрінде безендірілген кез-келген программа main әдістен тұруы керек. Ол барлық қосымшалар үшін біреу болуы мүмкін немесе осы қосымшалардың кейбір кластарында, сонымен қатар әрбір класта болуы мүмкін . Main() әдісі қарапайым әдіс тәрізді жазылады, кез – келген іс – әрекеттер мен сипаттамалардан тұруы мүмкін, бірақ ол міндетті түрде ашық (public), статикалық ( static) болуы керек, қайтарылатын мәні ( void) болмайды. Оның аргументі болып міндетті түрде командалық жолдың аргументтері берілетін ( string[]) — args жолдар массиві болуы керек. Бұл ерекшеліктер қосымшаның ең алғаш орындалуы кезінде Java орындаушы жүйесі арқылы main() әдісінің автоматты түрде шақырылуынан пайда болады. Java интерпретаторын шақыру кезінде орындалу басталатын main() әдісі жазылған класс көрсетіледі. Main() әдісі бар кластардың бірнеше түрі болғандықтан, әртүрлі кластардың әртүрлі жағдайларында қосымшаларды орындаудан бастап қосымша кіріс нүктелері бар қосымша құруға болады. Көбіне main () әдісін әр класқа қалдырып отыру мақсатымен енгізеді. Бұл жағдайда main() әдісіне кластың барлық әдістерінің жұмысын тексеретін тест енгізіледі. Java интерпретаторын шақыру кезінде main() әдісіне интерпретатордың жолдар массивіне енгізетін бірнеше параметрлерін беруге болады. Бұл параметрлер java шақыру жолында класс атынан соң бос орыннан кейін бірден келтіріледі. Егер параметрде бос орын қолданылса, онда оны жақшаға алу қажет. Жақшалардың параметрге кірмейді, олар тек қана шектеулер ретінде қолданылады.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *