Java - объектіге бағытталған бағдарламалау тілі ортасында ойындар құрастыру
Мазмұны
КІРІСПЕ
2
1
Java - объектіге бағытталған бағдарламалау тілі
4
2
Java тілін қолдану арқылы құруға болатын қолданба түрлері
6
2.1
Java апплеттері
6
2.2
Класстар
7
2.3
Апплет классындағы әдістер
8
2.4
Класстар иерархиясы
9
3
JDK пакетінің утилиталары: Javac, Appletviewer, Javadoc
12
4
Java және С++ тілдері
14
5
Java тіліндегі орындалатын операциялар: цикл операторлары
16
5.1
If шартының орындалуы
16
5.2
5.3
6
7
While - әзір операторы
For қайталау операторы
Көбелек ойыны
Tetris ойыны
17
19
22
25
ҚОРЫТЫНДЫ
29
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ
30
КІРІСПЕ
Java - аса бай бағдарламалау тілі. Ол оқу мен пайдалануда қарапайым болғанымен, программистерге ең қиын есептерді шешу үшін көп мүмкіншіліктер береді.
Java - бұл Sun Microsystems компаниясымен 1995 жылдың маусымында ұсынылған принципиалды жаңа программалау тілі. Сол кезден бастап мыңдаған программистер бұл тілдің қуатын түсінді.
Java - объекті-бағдарланған программалау тілі. Ол Java-программаларының құрушыларына одан да көбірек қиын қолданбаларды жеңіл құрастыруына мүмкіндік береді. Сонымен қатар, желіде жұмыс істеу үшін және ағындарды қолдау, көптеген басқалары үшін құралдар Java-да құрастырылған.
Java тілі C, C++, Eiffel, SmallTalk, Objective C және CedarMes сияқты тілдерден алынған концепцияны қолданумен құрылған. Сол себептен таңданусыз, Java бұл тілдер шеше алатын есептерді де орындай алады. Төменде Java тілін қолдану арқылы құруға болатын қолданбаның 4 түрі келтірілген:
Апплеттер (мини-қолданба)
GUI-қолданба
Командалық жолдың қолданбасы
Пакеттер (библиотекалар)
Апплеттер мағынасы бойынша Netscape 2.x3.x, Microsoft Explorer 3.x немесе HotJava сияқты Java-үйлесімді браузерлер ортасында орындалатын мини-қолданбалар болып саналады.
GUI-қолданба (Graphical User Interface) - бұл қарапайым программалар. Олар Windows Notepad тәріздес, өздерінің жұмысы үшін браузердің қатысуын қажет етпейді.
Командалық жолдың қолданбалары MSDOS шақыру жолынан немесе UNIX командалық процессорден жүктеледі. Ол MS-DOS ортасында xcopy командасы тәріздес немесе UNIX жүйесінде ls тәріздес келеді.
Төртінші түрі - бұл "таза түрдегі" қолданба емес, бір пакетте (package) тұратын (C++ класстар библиотекасын еске түсіретін) класстар жиындары (Java байт-кодталған файлдарға айналдырылатын). Әртүрлі операциялық жүйелерде статикалық және динамикалық библиотекалармен қолданатын форматтарға сәйкес пакеттер үшін қолданушылар форматы жоқ. Java тілінде қолданбаларды іске қосу жеңіл әрі жылжымалы.
Java - бұл қарапайым, объекті-бағдарланған, сенімді, қорғалған, тасымалданулы, жоғары өнімді, интерпретациялайтын, көп ағынды, платформадан тәуелсіз, динамикалық дамитын тіл.
Java -- деп тек қана тілді ғана емес, сонымен қатар осы тіл негізінде жасайтын және орындайтын платформаны атайды. Бастапқыда тіл Oak (емен) болып аталған және оны Джеймс Гослинг тұрмыстық электрондық құрылғыларды бағдарламалау үшін жасалынатын. Біраз уақыт өткеннен кейін тілдіі атын JAVA деп ауыстырады және оны клиенттік қосымшаларды және серверлік бағдарламалық қамтаманы жасау үшін қолданыла бастады. Кейбір бағдарламалаушылардың сүйікті кофе маркасы Java құрметіне аталды. Сол себепті тілідң эмлемасында түтіндеп тұрған кофесі бар шынаяқ бейнеленген. Сонымен қатар осы java атауының шығу тегі туралы басқа да нұсқалар бар.
Java - объектіге бағытталған бағдарламалау тілі
Бағдарламалау
Парадигмасы
Объектіге бағытталған
бағдарламалау тілі,
структуралық, императивтік,
кроссплатфалық
Пайда болған уақыты
1995 жыл
Дамытушыдизайнері
Oracle Corporation (бұрын Sun
Mirosystems)
Бағдарламалық
жасақтама рилизі
Java Standard Edition 728
шілде 2011
Операциялық жүйесі
Кроссплатформалы
Веб-сайты
http:oracle.comtechnetworkjava
Кесте-1 Java бағдарламалау тілі
Java тiлiн орындау кезiнде көптеген пакеттер қолданылады. Кейбір пакеттерге қарайтын барлық класстар, ереже бойынша, бір каталогқа орналасады. Мысалы, Java Abstract Window Toolkit (AWT - Терезелік қолданушылық интерфейс) пакетіне (java.awt) қарасты барлық класстар C:\JAVA\CLASSES каталогының AWT ішкі каталогында орналасқан. Төменде Java Development Kit инструменталды құралдар жиынына кіретін әртүрлі пакеттер каталогтарының ағашы көрсетілген:
C:\java\classes
___applet
___awt
____Button.class
____Color.class
____Event.class
___io
___lang
___net
___util
Бұл мысалда awt каталогында бірнеше файл класстары көрсетілген (негізінде бұл каталогта 49 файл класстары бар).
Java-да бастапқы мәтін тасымалданатын байт-кодтарға компиляцияланады, оларды орындау үшін интерпретатор қажет. Бұл тапсырманы апплеттер үшін браузер орындайды. GUI-қолданбалары және программалық утилиталардың орындалуы үшін интерпретациялайтын программа қажет.
Java тілінің даңқы оның артықшылығымен ғана түсіндіріліп қоймайды және де Sun Microsystems-тің JDK жиынына кіретін пакеттердің үлкен санының болуымен түсіндіріледі. Бұл алдын ала құрылған объектер Java тілімен жұмысты жылдам бастауға мүмкіндік береді. Ол екі жағдаймен түсіндіріледі:
Бұл объекттер қолдайтын мүмкіндіктерді іске қосу қажет емес;
Барлық объекттер үшін бастапқы код бар болады;
Төменде Java ұсынатын көбіне маңызды қажетті пакеттердің қысқаша сипаттамасы келтірілген:
Пакет
Сипаттамасы
Java.applet
Апплеттерді құру үшін қолданатын класстар
Java.awt
GUI-интерфейсі үшін AWT-класстары, мысалы терезелер, диалогтық терезелер, батырмалар, мәтіндік өрістер және т.б.
Java.net
URL адрестерімен және желіде жұмыс істеу үшін класстар, клиент-серверлік сокеттер (sockets)
Java.io
Әртүрлі типтерді енгізу және шығару үшін класстар
Java.lang
Мәліметтердің әртүрлі типтері үшін, процесстерді, қатар, ағынды іске қосу үшін класстар
Java.util
Даталармен, векторлармен жұмыс істеу үшін көмекші класстар
Java.awt.image
Суреттерді басқару үшін класстар
Кесте-2 Java-да қолданатын негізгі пакеттер
Java тілі объекті-бағдарланған, яғни мәліметтерді объект және әдістер, осы объекттер үшін қолданатын сияқты қарайтын тілдер тобына жатады.
Объекті-бағдарланған программалау тілдері (ОБП) мәліметтер объектілерінің арасындағы өзара әрекетті сипаттайды.
Java тілін қолдану арқылы құруға болатын қолданба түрлері
Java апплеттері
Java апплеттері Java-үйлесімді браузер ортасында орындалады, өйткені Web-браузерлері алғашында HTML-құжаттарын көрсету үшін құрылған. Браузер ортасында Java апплеттерін ендіру үшін HTML-тэг қажет, ол осы апплеттерді шақырады. Төменде ұқсас HTML-тэгі APPLET мысалы келтірілген:
applet code=TextEdit.class width=575 height=350applet
Java апплеттерге сілтемелер HTML-құжаттарының ішінде тұрғандықтан және Web-браузермен орындалатындықтан, HTML-құжаттары сияқты, апплеттер де серверде орналасады. Java-үйлесімді браузер HTML-құжатын жүктеп және APPLET тэгін кездестірген кезде, ерекше оқиғалардың тізбектігі орындалады:
HTML-файл жүктеледі;
APPLET тэгі табылады;
APPLET-те көрсетілген класс файлы серверден жүктеледі;
APPLET классы сілтеген класстар табылады және жүктеледі;
APPLET классы init() and start() әдісін шақырады;
Егер барлығы қалыпты орындалса, апплет браузер терезесінде көрсетіледі.
Web-серверге қатынасқан компьютерге орындалатын апплет коды (класс файлы) түседі. Қолданушы Web-торапқа қосылғаннан кейін, апплетке (тэг APPLET) сілтеме құрайтын HTMLөқұжатын шақырғанда, бұл класстар файлдары жүктеледі және орындалады.
APPLET тэгі үшін міндетті аттрибуттар CODE, WIDTH және HEIGHT (код, ені, биіктігі).
Төменде атрибуттардың қысқаша сипаттамасы:
Міндетті атрибуттар
Жіберілетін мәндер
CODE
Класс файлының жіберілетін аты(допустимое);
WIDTH
Апплеттің ені пикселдерде (pixel) беріледі;
HEIGHT
Апплеттің биіктігі пикселдерде беріледі;
Міндетті емес атрибуттар
Жіберілетін мәндер
CODEBASE
Бұл апплеттің класс файлдары орналасқан каталогқа жіберілетін URL-сілтеме;
ALT
Java-үйлесімді браузер апплетті орындай алмаса, орындалатын балама мәтін;
NAME
Апплеттің жеке аты, сол бойынша сол HTML-бетінде орналасқан басқа да апплеттер оған қатынай алады;
ALING
Апплетті теңестіру; мүмкін мәндері: left, right, top, texttop, middle, absmiddle, baseline, bottom, absbottom;
VSPACE
Бос орындар (пикселдерде берілген) апплеттің үстінен және астынан беріледі;
HSPACE
Бос орындар (пикселдерде берілген) апплеттің оң жіне сол жақтарынан алынады;
PARAM
Апплетке берілетін параметрлер
Кесте-3 Атрибуттар түрлері
Апплеттерді Web-тораптарында орналастыра алуға болатындықтан, олар Java-программистерімен құрылған ең танымал программаларының типіне жатады.
Класстар
Тіл кластарының жүйелік кітапханасы кластар және пакеттерден тұрады, олар тілдің әртүрлі базалық мүмкіншіліктерін жүзеге асырады. Бұл кітапханаларға қосылған кластардың әдістері JVM-нан Java - бағдарламаның интерпретациясы кезінде шақырылады.
Класс дегенiмiз - мәндер мен әдiстердiң қосылған тәсiлi. Класстың негiзгi 2 компонентi бар:
Жағдайы
Әдiсi
Жағдайы - класстың барлық айнымалыларының мәндерiн бередi. Ал
әдiстер класстың функционалдық мүмкiншiлiгiң құрайды. Объектi-бағдарланған бағдарламалау тiлiнiң негiзгi элементi класс болып саналады және соның негiзiнде объекттер құралады. Объектiлер бағдарламаның басқа бөлiгiнен әдiстердi және мәндердi жекешелеуге мүмкiншiлiк бередi (инкапсуляция).
Java-да бағдарламаның барлық объектілері динамикалық жадта орналасқан (heap) және стектерде сақталынатын объекті сілтемелер арқылы қолжетімді. Бұл шешім жадқа тікелей қолжетімсіздікке мүмкіндік берді, бірақ массив элементтерімен жұмыс істеуді қиындатып жіберді. Java тіліндегі объектілі сілтемелер өздері бағытталып тұрған объектілердің класы туралы хабардан тұрады. Сондықтан да объектілі сілтемелер дегеніміз, көрсеткіштер емес, олар объектілердің дескрипторлары. Дескрипторлардың болуы JVM-ге код интерпретациясы фазасында типтердің сәйкес келуін тексеруге мүмкіндік береді. Java-да жадты динамикалық бөлу концепциясы да қайта қарастырылған: динамикалық бөлінген жадты босату тәсілдері жоқ болады. Оның орнына new (қоқыс жинаушысы) операторының көмегі арқылы көрсетілген жадты автоматты түрде босату жүйесі іске асырылған. Java - бағдарламаларда класс спецификациясы мен оның жүзеге асырылуы әрқашан да тек қана бір файлда болады.Java тілі операторларды қайта жүктеуді және typedef, белгісіз бүтіндерді (егер ол ретінде char- ды есептемесек) қолдамайды. Java-да көптік мұрагерлік жоқ, тек құрастырушылар бар, бірақ деструкторлар жоқ (қоқысты автоматты түрде жинастыру қолданылады), тілдің кейінге сақталған сөздері бола тұрса да, goto операторы және const сөзі қолданылмайды.
Апплет классындағы әдістер
Әрбiр класстың жағдайы және әдiстерi бар. Белгiлi бiр есептi шешетiн операторлар мен функциялар жиынын әдiстер деп атаймыз. Әдiстердiң 2 элементi бар:
Сипатталуы;
Денесi;
Әдiстiң сипатталуы оған жету жолын, қайту мәнiн және қабылдау мәнiн (түрiн) көрсетедi.
Әдiстердiң жазылуы:
спецификатор_доступа модификатор (возвращаемое значения)
имя метода (параметры)
{ }
спецификатор_доступа - ның 5 түрi бар. Бұл дегенiмiз - әдiске жету жолы. Спецификаторлардың түрiне байланыссыз бiр класстың iшiндегi 2 әдiске жетуге болады.
Модификатор - әдiстiң қасиетiн бередi. Мысалы, оның көрiнуi, сол класспен және оның туынды класстарымен байланысы. Модификатордың 5 түрi бар:
Static - айнымалылар бiр-бiрiмен өте тығыз байланысты.
Статикалық әдiстер тек қана статикалық әдiстермен және айнымалылармен жұмыс жасайды. Ал статикалық емес әдiстер статикалық айнамалылармен жұмыс жасай алады.
Abstract - егер әдiстi бiр класстың iшiнде осылай сипаттасақ,
ондай әдiс орындалмайды.
Final - жоғарғы деңгейде қорғалған.
Native.
Synchronized.
Спецификатор түрлерi:
public - қорғалмаған. Пакеттiң түрiне байланыссыз бұл әдiске
барлық класстар жете алады.
protected - қорғалған. Бiр пакеттiң iшiнде тұрған барлық класстар
жете алады.
friendly - достық. Бұндай спецификатордағы әдiске сол ағындағы
класстар және сол класстан туған класстар жете алады. Егер әдiстiң алдында қатынау спецификаторы жазылмаса, онда әдiс осы спецификатормен қабылданады.
private - жабық класс. Тек қана сол класстың iшiндегi тұрған әдiстер
ғана жете алады. Одан туылған класстар да жете алмайды.
private protected - бұл класста тұрған класстар және одан туған
класстар ғана жете алады. Басқа пакет класстары жете алмайды.
Апплет классында әдiстердiң бiрнеше түрiлерiн қарастырайық:
init әдiсі. Бұл әдіс барлық апплеттер мұрагерленетiн Applet базалық
класында анықталған. Бұл әдiс жалпылай алғанда ешқандай қызмет атқармайды. init әдiсi бiзге не үшiн қажет және қай уақытта шақыртылады?
Init әдiсi браузер APPLET операторы бар HTML құжатын жүктегенде шақырылады. Бұл сәтте апплет инициалдауды орындайды немесе ағындарды құрады, егер сiз көпағынды режiмде жұмыс iстейтiн болсаңыз.
destroy әдiсi. Апплеттi жадыдан жою алдында destroy әдiсi
шақыртылады, ол Applet базалық классында бос бұқтырма ретiнде анықталған. destroy әдiсiне әдетте, апплеттi жою алдында орындайтын қажеттi операцияларды тапсырады. Мысалы, егер сiз init әдiсiнде қандай да бiр ағынды құрсаңыз, destroy әдiсiнде оны аяқтау қажет.
Start әдiсi. start әдiсi init әдiсiнен кейiн қолданушы енгiзiлген апплетi
бар HTML құжатын қарастырып жатқан сәтте шақыртылады. Егер апплетi бар беттердi қолданушының әрбiр ашқанда, қандай да бiр инициалдауды қажет ететiн кезде, сiз бұл әдiстiң мәтiнiн модификациялауыңызға болады.
stop әдiсi. sratr әдiсiне қосымша stop әдiсi қолданылады. Қолданушы
апплетi бар беттi тастап, браузер терезесiне басқа беттi жүктегенде, ол басқаруды қолына алады. stop әдiсi destroy әдiсiнiң алдында шақыртылады.
paint әдiсi. Апплет терезесiнде сурет салуға мүмкiндiк беретiн paint
әдiсi бiз үшiн қызықты. Оның бастапқы мәтiнi келесiдей:
public void paint(Graphics g)
{
g.drawString("Это моя курсовая работа!",50,50);
}
Класстар иерархиясы
Java API Packages бөлiмiнiң java.applet класстар библиотекасында Class Index- Applet қатарында сiз класстар иерархиясын көресiз.
java.lang.Object
+---java.awt.Component
+---java.awt.Container
++---java.awt.Panel
++---java.applet.Applet
Бұл иерархиядан көрiнетiндей java.applet.Applet классы java.awt.Panel классынан туған. Бұл класс өз кезегiнде java.awt класстар библиотекасында анықталған және java.awt.Container классынан туған, java.awt.Container java.awt.Component класстар базасында құралған және сол класста анықталған. ол өз кезегiнде java.lang.Object классынан туған және java.awt.image.ImageObserver интерфейсiн iске асырады.
Осылайша, бiз иерархия классын java.applet.Applet классынан бастап, бiздiң апплет құралған, Java-ның барлық класстарына базалық болып табылатын java.lang.Object классына дейiн қарастырдық.
paint әдiсi java.awt.Component классында анықталды, бiрақ бұл класс Applet классы үшiн және бiздiң құрған апплет үшiн базалық болғандықтан бiз paint әдiсiн қайта анықтаймыз.
paint әдiсi апплет терезесiн қайта суреттегенде шақыртылады. Егер сiз Windows операциялық жүйесi үшiн қолданбаны құрғаныңызда, онда қолданба терезесiн қайта суреттеген кезде функцияға түсетiн WM_PAINT хабарымен таныс болғансыз. Кез келген уақытта апплет өз терезесiнiң құрамын қайта суреттеуге дайын болуы қажет.
Назар аударыңыз, paint әдiсiне параметр ретiнде Graphics объектiсiне сiлтеме берiледi:
public void paint(Graphics g)
{
...
}
Graphics классының көптеген әдiстерi холсттың әртүрлi параметрлерiн беруге мүмкiндiк бередi, мысалы түсi немесе шрифтi. Бiздiң қолданба апплет терезесiнде мәтiндiк қатарды суреттейтiн drawString әдiсiн шақырады. g.drawString("Вражеские корабли",50,50);
Мiне, бұл әдiстiң прототипi:
public abstract void drawString(String str, int x, int y);
Бiрiншi параметрi арқылы String классының объектiсi түрiнде мәтiндiк қатар берiледi. Екiншi және үшiншi параметрлерi сәйкесiнше, суреттеу қатары басталатын нүктелер координаталарын анықтайды. Апплеттер жүйе координаттарын қолданады. Бұл координата жүйесiнiң басы апплет терезесiнiң сол жақ жоғарғы бұрышында орналасқан, Х ось солдан оңға қарай бағытталған, ал У ось жоғарыдан төменге қарай бағытталған (1-сурет).
Сурет-1 drawString әдiсiмен қолданатын координата жүйесi.
Бұл суретте drawString әдiсi мәтiндiк қатарды (хCoord, yCoord) координатасынан бастап салуы көрсетiлген.
action() әдiсiн сипаттау. Апплетте туатын көптеген қолданушы оқиғаларын action() әдiсiн анықтау арқылы өңдеуге болады. Бұл әдiс келесi түрде жазылады:
Public boolean action(Event evt, Object arg)
Көрiп отырғандай action() әдiсiнiң екi параметрi бар: Event объектi, Object объектi. Мұнда arg батырманы басқаруға арналған мәтiндiк белгi ретiнде алынған. Қолданушы апплеттiң белгiлi бiр батырмасын басқанда, action() әдiсi шақырылады.
JDK пакетінің утилиталары: Javac, Appletviewer, Javadoc
JDK пакетінің негізгі утилиталарына Javac, Appletviewer, Javadoc ... жалғасы
КІРІСПЕ
2
1
Java - объектіге бағытталған бағдарламалау тілі
4
2
Java тілін қолдану арқылы құруға болатын қолданба түрлері
6
2.1
Java апплеттері
6
2.2
Класстар
7
2.3
Апплет классындағы әдістер
8
2.4
Класстар иерархиясы
9
3
JDK пакетінің утилиталары: Javac, Appletviewer, Javadoc
12
4
Java және С++ тілдері
14
5
Java тіліндегі орындалатын операциялар: цикл операторлары
16
5.1
If шартының орындалуы
16
5.2
5.3
6
7
While - әзір операторы
For қайталау операторы
Көбелек ойыны
Tetris ойыны
17
19
22
25
ҚОРЫТЫНДЫ
29
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ
30
КІРІСПЕ
Java - аса бай бағдарламалау тілі. Ол оқу мен пайдалануда қарапайым болғанымен, программистерге ең қиын есептерді шешу үшін көп мүмкіншіліктер береді.
Java - бұл Sun Microsystems компаниясымен 1995 жылдың маусымында ұсынылған принципиалды жаңа программалау тілі. Сол кезден бастап мыңдаған программистер бұл тілдің қуатын түсінді.
Java - объекті-бағдарланған программалау тілі. Ол Java-программаларының құрушыларына одан да көбірек қиын қолданбаларды жеңіл құрастыруына мүмкіндік береді. Сонымен қатар, желіде жұмыс істеу үшін және ағындарды қолдау, көптеген басқалары үшін құралдар Java-да құрастырылған.
Java тілі C, C++, Eiffel, SmallTalk, Objective C және CedarMes сияқты тілдерден алынған концепцияны қолданумен құрылған. Сол себептен таңданусыз, Java бұл тілдер шеше алатын есептерді де орындай алады. Төменде Java тілін қолдану арқылы құруға болатын қолданбаның 4 түрі келтірілген:
Апплеттер (мини-қолданба)
GUI-қолданба
Командалық жолдың қолданбасы
Пакеттер (библиотекалар)
Апплеттер мағынасы бойынша Netscape 2.x3.x, Microsoft Explorer 3.x немесе HotJava сияқты Java-үйлесімді браузерлер ортасында орындалатын мини-қолданбалар болып саналады.
GUI-қолданба (Graphical User Interface) - бұл қарапайым программалар. Олар Windows Notepad тәріздес, өздерінің жұмысы үшін браузердің қатысуын қажет етпейді.
Командалық жолдың қолданбалары MSDOS шақыру жолынан немесе UNIX командалық процессорден жүктеледі. Ол MS-DOS ортасында xcopy командасы тәріздес немесе UNIX жүйесінде ls тәріздес келеді.
Төртінші түрі - бұл "таза түрдегі" қолданба емес, бір пакетте (package) тұратын (C++ класстар библиотекасын еске түсіретін) класстар жиындары (Java байт-кодталған файлдарға айналдырылатын). Әртүрлі операциялық жүйелерде статикалық және динамикалық библиотекалармен қолданатын форматтарға сәйкес пакеттер үшін қолданушылар форматы жоқ. Java тілінде қолданбаларды іске қосу жеңіл әрі жылжымалы.
Java - бұл қарапайым, объекті-бағдарланған, сенімді, қорғалған, тасымалданулы, жоғары өнімді, интерпретациялайтын, көп ағынды, платформадан тәуелсіз, динамикалық дамитын тіл.
Java -- деп тек қана тілді ғана емес, сонымен қатар осы тіл негізінде жасайтын және орындайтын платформаны атайды. Бастапқыда тіл Oak (емен) болып аталған және оны Джеймс Гослинг тұрмыстық электрондық құрылғыларды бағдарламалау үшін жасалынатын. Біраз уақыт өткеннен кейін тілдіі атын JAVA деп ауыстырады және оны клиенттік қосымшаларды және серверлік бағдарламалық қамтаманы жасау үшін қолданыла бастады. Кейбір бағдарламалаушылардың сүйікті кофе маркасы Java құрметіне аталды. Сол себепті тілідң эмлемасында түтіндеп тұрған кофесі бар шынаяқ бейнеленген. Сонымен қатар осы java атауының шығу тегі туралы басқа да нұсқалар бар.
Java - объектіге бағытталған бағдарламалау тілі
Бағдарламалау
Парадигмасы
Объектіге бағытталған
бағдарламалау тілі,
структуралық, императивтік,
кроссплатфалық
Пайда болған уақыты
1995 жыл
Дамытушыдизайнері
Oracle Corporation (бұрын Sun
Mirosystems)
Бағдарламалық
жасақтама рилизі
Java Standard Edition 728
шілде 2011
Операциялық жүйесі
Кроссплатформалы
Веб-сайты
http:oracle.comtechnetworkjava
Кесте-1 Java бағдарламалау тілі
Java тiлiн орындау кезiнде көптеген пакеттер қолданылады. Кейбір пакеттерге қарайтын барлық класстар, ереже бойынша, бір каталогқа орналасады. Мысалы, Java Abstract Window Toolkit (AWT - Терезелік қолданушылық интерфейс) пакетіне (java.awt) қарасты барлық класстар C:\JAVA\CLASSES каталогының AWT ішкі каталогында орналасқан. Төменде Java Development Kit инструменталды құралдар жиынына кіретін әртүрлі пакеттер каталогтарының ағашы көрсетілген:
C:\java\classes
___applet
___awt
____Button.class
____Color.class
____Event.class
___io
___lang
___net
___util
Бұл мысалда awt каталогында бірнеше файл класстары көрсетілген (негізінде бұл каталогта 49 файл класстары бар).
Java-да бастапқы мәтін тасымалданатын байт-кодтарға компиляцияланады, оларды орындау үшін интерпретатор қажет. Бұл тапсырманы апплеттер үшін браузер орындайды. GUI-қолданбалары және программалық утилиталардың орындалуы үшін интерпретациялайтын программа қажет.
Java тілінің даңқы оның артықшылығымен ғана түсіндіріліп қоймайды және де Sun Microsystems-тің JDK жиынына кіретін пакеттердің үлкен санының болуымен түсіндіріледі. Бұл алдын ала құрылған объектер Java тілімен жұмысты жылдам бастауға мүмкіндік береді. Ол екі жағдаймен түсіндіріледі:
Бұл объекттер қолдайтын мүмкіндіктерді іске қосу қажет емес;
Барлық объекттер үшін бастапқы код бар болады;
Төменде Java ұсынатын көбіне маңызды қажетті пакеттердің қысқаша сипаттамасы келтірілген:
Пакет
Сипаттамасы
Java.applet
Апплеттерді құру үшін қолданатын класстар
Java.awt
GUI-интерфейсі үшін AWT-класстары, мысалы терезелер, диалогтық терезелер, батырмалар, мәтіндік өрістер және т.б.
Java.net
URL адрестерімен және желіде жұмыс істеу үшін класстар, клиент-серверлік сокеттер (sockets)
Java.io
Әртүрлі типтерді енгізу және шығару үшін класстар
Java.lang
Мәліметтердің әртүрлі типтері үшін, процесстерді, қатар, ағынды іске қосу үшін класстар
Java.util
Даталармен, векторлармен жұмыс істеу үшін көмекші класстар
Java.awt.image
Суреттерді басқару үшін класстар
Кесте-2 Java-да қолданатын негізгі пакеттер
Java тілі объекті-бағдарланған, яғни мәліметтерді объект және әдістер, осы объекттер үшін қолданатын сияқты қарайтын тілдер тобына жатады.
Объекті-бағдарланған программалау тілдері (ОБП) мәліметтер объектілерінің арасындағы өзара әрекетті сипаттайды.
Java тілін қолдану арқылы құруға болатын қолданба түрлері
Java апплеттері
Java апплеттері Java-үйлесімді браузер ортасында орындалады, өйткені Web-браузерлері алғашында HTML-құжаттарын көрсету үшін құрылған. Браузер ортасында Java апплеттерін ендіру үшін HTML-тэг қажет, ол осы апплеттерді шақырады. Төменде ұқсас HTML-тэгі APPLET мысалы келтірілген:
applet code=TextEdit.class width=575 height=350applet
Java апплеттерге сілтемелер HTML-құжаттарының ішінде тұрғандықтан және Web-браузермен орындалатындықтан, HTML-құжаттары сияқты, апплеттер де серверде орналасады. Java-үйлесімді браузер HTML-құжатын жүктеп және APPLET тэгін кездестірген кезде, ерекше оқиғалардың тізбектігі орындалады:
HTML-файл жүктеледі;
APPLET тэгі табылады;
APPLET-те көрсетілген класс файлы серверден жүктеледі;
APPLET классы сілтеген класстар табылады және жүктеледі;
APPLET классы init() and start() әдісін шақырады;
Егер барлығы қалыпты орындалса, апплет браузер терезесінде көрсетіледі.
Web-серверге қатынасқан компьютерге орындалатын апплет коды (класс файлы) түседі. Қолданушы Web-торапқа қосылғаннан кейін, апплетке (тэг APPLET) сілтеме құрайтын HTMLөқұжатын шақырғанда, бұл класстар файлдары жүктеледі және орындалады.
APPLET тэгі үшін міндетті аттрибуттар CODE, WIDTH және HEIGHT (код, ені, биіктігі).
Төменде атрибуттардың қысқаша сипаттамасы:
Міндетті атрибуттар
Жіберілетін мәндер
CODE
Класс файлының жіберілетін аты(допустимое);
WIDTH
Апплеттің ені пикселдерде (pixel) беріледі;
HEIGHT
Апплеттің биіктігі пикселдерде беріледі;
Міндетті емес атрибуттар
Жіберілетін мәндер
CODEBASE
Бұл апплеттің класс файлдары орналасқан каталогқа жіберілетін URL-сілтеме;
ALT
Java-үйлесімді браузер апплетті орындай алмаса, орындалатын балама мәтін;
NAME
Апплеттің жеке аты, сол бойынша сол HTML-бетінде орналасқан басқа да апплеттер оған қатынай алады;
ALING
Апплетті теңестіру; мүмкін мәндері: left, right, top, texttop, middle, absmiddle, baseline, bottom, absbottom;
VSPACE
Бос орындар (пикселдерде берілген) апплеттің үстінен және астынан беріледі;
HSPACE
Бос орындар (пикселдерде берілген) апплеттің оң жіне сол жақтарынан алынады;
PARAM
Апплетке берілетін параметрлер
Кесте-3 Атрибуттар түрлері
Апплеттерді Web-тораптарында орналастыра алуға болатындықтан, олар Java-программистерімен құрылған ең танымал программаларының типіне жатады.
Класстар
Тіл кластарының жүйелік кітапханасы кластар және пакеттерден тұрады, олар тілдің әртүрлі базалық мүмкіншіліктерін жүзеге асырады. Бұл кітапханаларға қосылған кластардың әдістері JVM-нан Java - бағдарламаның интерпретациясы кезінде шақырылады.
Класс дегенiмiз - мәндер мен әдiстердiң қосылған тәсiлi. Класстың негiзгi 2 компонентi бар:
Жағдайы
Әдiсi
Жағдайы - класстың барлық айнымалыларының мәндерiн бередi. Ал
әдiстер класстың функционалдық мүмкiншiлiгiң құрайды. Объектi-бағдарланған бағдарламалау тiлiнiң негiзгi элементi класс болып саналады және соның негiзiнде объекттер құралады. Объектiлер бағдарламаның басқа бөлiгiнен әдiстердi және мәндердi жекешелеуге мүмкiншiлiк бередi (инкапсуляция).
Java-да бағдарламаның барлық объектілері динамикалық жадта орналасқан (heap) және стектерде сақталынатын объекті сілтемелер арқылы қолжетімді. Бұл шешім жадқа тікелей қолжетімсіздікке мүмкіндік берді, бірақ массив элементтерімен жұмыс істеуді қиындатып жіберді. Java тіліндегі объектілі сілтемелер өздері бағытталып тұрған объектілердің класы туралы хабардан тұрады. Сондықтан да объектілі сілтемелер дегеніміз, көрсеткіштер емес, олар объектілердің дескрипторлары. Дескрипторлардың болуы JVM-ге код интерпретациясы фазасында типтердің сәйкес келуін тексеруге мүмкіндік береді. Java-да жадты динамикалық бөлу концепциясы да қайта қарастырылған: динамикалық бөлінген жадты босату тәсілдері жоқ болады. Оның орнына new (қоқыс жинаушысы) операторының көмегі арқылы көрсетілген жадты автоматты түрде босату жүйесі іске асырылған. Java - бағдарламаларда класс спецификациясы мен оның жүзеге асырылуы әрқашан да тек қана бір файлда болады.Java тілі операторларды қайта жүктеуді және typedef, белгісіз бүтіндерді (егер ол ретінде char- ды есептемесек) қолдамайды. Java-да көптік мұрагерлік жоқ, тек құрастырушылар бар, бірақ деструкторлар жоқ (қоқысты автоматты түрде жинастыру қолданылады), тілдің кейінге сақталған сөздері бола тұрса да, goto операторы және const сөзі қолданылмайды.
Апплет классындағы әдістер
Әрбiр класстың жағдайы және әдiстерi бар. Белгiлi бiр есептi шешетiн операторлар мен функциялар жиынын әдiстер деп атаймыз. Әдiстердiң 2 элементi бар:
Сипатталуы;
Денесi;
Әдiстiң сипатталуы оған жету жолын, қайту мәнiн және қабылдау мәнiн (түрiн) көрсетедi.
Әдiстердiң жазылуы:
спецификатор_доступа модификатор (возвращаемое значения)
имя метода (параметры)
{ }
спецификатор_доступа - ның 5 түрi бар. Бұл дегенiмiз - әдiске жету жолы. Спецификаторлардың түрiне байланыссыз бiр класстың iшiндегi 2 әдiске жетуге болады.
Модификатор - әдiстiң қасиетiн бередi. Мысалы, оның көрiнуi, сол класспен және оның туынды класстарымен байланысы. Модификатордың 5 түрi бар:
Static - айнымалылар бiр-бiрiмен өте тығыз байланысты.
Статикалық әдiстер тек қана статикалық әдiстермен және айнымалылармен жұмыс жасайды. Ал статикалық емес әдiстер статикалық айнамалылармен жұмыс жасай алады.
Abstract - егер әдiстi бiр класстың iшiнде осылай сипаттасақ,
ондай әдiс орындалмайды.
Final - жоғарғы деңгейде қорғалған.
Native.
Synchronized.
Спецификатор түрлерi:
public - қорғалмаған. Пакеттiң түрiне байланыссыз бұл әдiске
барлық класстар жете алады.
protected - қорғалған. Бiр пакеттiң iшiнде тұрған барлық класстар
жете алады.
friendly - достық. Бұндай спецификатордағы әдiске сол ағындағы
класстар және сол класстан туған класстар жете алады. Егер әдiстiң алдында қатынау спецификаторы жазылмаса, онда әдiс осы спецификатормен қабылданады.
private - жабық класс. Тек қана сол класстың iшiндегi тұрған әдiстер
ғана жете алады. Одан туылған класстар да жете алмайды.
private protected - бұл класста тұрған класстар және одан туған
класстар ғана жете алады. Басқа пакет класстары жете алмайды.
Апплет классында әдiстердiң бiрнеше түрiлерiн қарастырайық:
init әдiсі. Бұл әдіс барлық апплеттер мұрагерленетiн Applet базалық
класында анықталған. Бұл әдiс жалпылай алғанда ешқандай қызмет атқармайды. init әдiсi бiзге не үшiн қажет және қай уақытта шақыртылады?
Init әдiсi браузер APPLET операторы бар HTML құжатын жүктегенде шақырылады. Бұл сәтте апплет инициалдауды орындайды немесе ағындарды құрады, егер сiз көпағынды режiмде жұмыс iстейтiн болсаңыз.
destroy әдiсi. Апплеттi жадыдан жою алдында destroy әдiсi
шақыртылады, ол Applet базалық классында бос бұқтырма ретiнде анықталған. destroy әдiсiне әдетте, апплеттi жою алдында орындайтын қажеттi операцияларды тапсырады. Мысалы, егер сiз init әдiсiнде қандай да бiр ағынды құрсаңыз, destroy әдiсiнде оны аяқтау қажет.
Start әдiсi. start әдiсi init әдiсiнен кейiн қолданушы енгiзiлген апплетi
бар HTML құжатын қарастырып жатқан сәтте шақыртылады. Егер апплетi бар беттердi қолданушының әрбiр ашқанда, қандай да бiр инициалдауды қажет ететiн кезде, сiз бұл әдiстiң мәтiнiн модификациялауыңызға болады.
stop әдiсi. sratr әдiсiне қосымша stop әдiсi қолданылады. Қолданушы
апплетi бар беттi тастап, браузер терезесiне басқа беттi жүктегенде, ол басқаруды қолына алады. stop әдiсi destroy әдiсiнiң алдында шақыртылады.
paint әдiсi. Апплет терезесiнде сурет салуға мүмкiндiк беретiн paint
әдiсi бiз үшiн қызықты. Оның бастапқы мәтiнi келесiдей:
public void paint(Graphics g)
{
g.drawString("Это моя курсовая работа!",50,50);
}
Класстар иерархиясы
Java API Packages бөлiмiнiң java.applet класстар библиотекасында Class Index- Applet қатарында сiз класстар иерархиясын көресiз.
java.lang.Object
+---java.awt.Component
+---java.awt.Container
++---java.awt.Panel
++---java.applet.Applet
Бұл иерархиядан көрiнетiндей java.applet.Applet классы java.awt.Panel классынан туған. Бұл класс өз кезегiнде java.awt класстар библиотекасында анықталған және java.awt.Container классынан туған, java.awt.Container java.awt.Component класстар базасында құралған және сол класста анықталған. ол өз кезегiнде java.lang.Object классынан туған және java.awt.image.ImageObserver интерфейсiн iске асырады.
Осылайша, бiз иерархия классын java.applet.Applet классынан бастап, бiздiң апплет құралған, Java-ның барлық класстарына базалық болып табылатын java.lang.Object классына дейiн қарастырдық.
paint әдiсi java.awt.Component классында анықталды, бiрақ бұл класс Applet классы үшiн және бiздiң құрған апплет үшiн базалық болғандықтан бiз paint әдiсiн қайта анықтаймыз.
paint әдiсi апплет терезесiн қайта суреттегенде шақыртылады. Егер сiз Windows операциялық жүйесi үшiн қолданбаны құрғаныңызда, онда қолданба терезесiн қайта суреттеген кезде функцияға түсетiн WM_PAINT хабарымен таныс болғансыз. Кез келген уақытта апплет өз терезесiнiң құрамын қайта суреттеуге дайын болуы қажет.
Назар аударыңыз, paint әдiсiне параметр ретiнде Graphics объектiсiне сiлтеме берiледi:
public void paint(Graphics g)
{
...
}
Graphics классының көптеген әдiстерi холсттың әртүрлi параметрлерiн беруге мүмкiндiк бередi, мысалы түсi немесе шрифтi. Бiздiң қолданба апплет терезесiнде мәтiндiк қатарды суреттейтiн drawString әдiсiн шақырады. g.drawString("Вражеские корабли",50,50);
Мiне, бұл әдiстiң прототипi:
public abstract void drawString(String str, int x, int y);
Бiрiншi параметрi арқылы String классының объектiсi түрiнде мәтiндiк қатар берiледi. Екiншi және үшiншi параметрлерi сәйкесiнше, суреттеу қатары басталатын нүктелер координаталарын анықтайды. Апплеттер жүйе координаттарын қолданады. Бұл координата жүйесiнiң басы апплет терезесiнiң сол жақ жоғарғы бұрышында орналасқан, Х ось солдан оңға қарай бағытталған, ал У ось жоғарыдан төменге қарай бағытталған (1-сурет).
Сурет-1 drawString әдiсiмен қолданатын координата жүйесi.
Бұл суретте drawString әдiсi мәтiндiк қатарды (хCoord, yCoord) координатасынан бастап салуы көрсетiлген.
action() әдiсiн сипаттау. Апплетте туатын көптеген қолданушы оқиғаларын action() әдiсiн анықтау арқылы өңдеуге болады. Бұл әдiс келесi түрде жазылады:
Public boolean action(Event evt, Object arg)
Көрiп отырғандай action() әдiсiнiң екi параметрi бар: Event объектi, Object объектi. Мұнда arg батырманы басқаруға арналған мәтiндiк белгi ретiнде алынған. Қолданушы апплеттiң белгiлi бiр батырмасын басқанда, action() әдiсi шақырылады.
JDK пакетінің утилиталары: Javac, Appletviewer, Javadoc
JDK пакетінің негізгі утилиталарына Javac, Appletviewer, Javadoc ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz