More Related Content Similar to Lecture10 (20) Lecture103. Logo
Аплет
Аплет нь вэб дээр ажилдаг класс код
юм.
Аплет ашиглан вэб дээр тоглоом
хийх, хэрэглэгчээс мэдээлэл
авах, зураг зурах, график дүрслэлийг
илүү сайжруулж болдог.
Объект хандлагат програмчлал
Улаанбаатар Их Сургууль 2013 он
4. Logo
Аплет
Аплетийг
Web browser дээр үзэх
Applet viewer програм ашиглан үзэх
боломжтой.
Ихэвчлэн applet viewer ашиглан
аплетаа шалгасны дараа вэб
хуудсандаа нэмдэг.
Объект хандлагат програмчлал
Улаанбаатар Их Сургууль 2013 он
8. Logo
Аплет (жишээ код)
Бүх аплетад Paint функц
автоматаар дуудагддаг.
Энэ нь аплетийн үйл
ажиллагааг эхлүүлэх
функц юм.
Объект хандлагат програмчлал
Улаанбаатар Их Сургууль 2013 он
9. Logo
Аплет (жишээ тайлбар)
JApplet класст аплетад хэрэгтэй
функцүүд тодорхойлогдсон байдаг.
JApplet классыг ашиглалгүйгээр
тухайн классын функцүүдийг өөрөө
програмчилвал маш их цаг хугацаа
зарцуулна.
Аплет хийхэд 200 гаруй функц бичих
хэрэгтэй болно.
Объект хандлагат програмчлал
Улаанбаатар Их Сургууль 2013 он
10. Logo
Аплет (жишээ тайлбар)
Аплет бичихийн тулд эдгээрийг
бүгдийг нь мэдэх албагүй.
Тэгснээс бэлэн JApplet классыг
удамшуулан бүх функцийг нь
хүлээн аваад хэрэгтэй функцээ
дахин тодорхойлох замаар
ашигладаг.
Объект хандлагат програмчлал
Улаанбаатар Их Сургууль 2013 он
11. Logo
Аплет (жишээ тайлбар)
8
public class WelcomeApplet extends JApplet {
WelcomeApplet классын зарлалт:
• appletviewer эсвэл броузер нь
WelcomeApplet классын обьектийг
үүсгэж ачаалдаг.
– Public түлхүүр үг шаардлагатай.
– Нэг файл дотор нэг л public класс байна.
– public классын нэр нь файлын нэртэй
тохирох ѐстой.
Объект хандлагат програмчлал
Улаанбаатар Их Сургууль 2013 он
12. Logo
Аплет (жишээ тайлбар)
11
public void paint( Graphics g )
Манай класс JApplet классын paint
функцийг удамшуулж авна.
• Энэ функц нь хоосон байдаг.
• Хоосон кодыг нь бид хэрэгтэй код
бүхий функцээр дахин тодорхойлно
(override).
Объект хандлагат програмчлал
Улаанбаатар Их Сургууль 2013 он
13. Logo
Аплет (жишээ тайлбар)
11
public void paint( Graphics g )
Аплетийн paint, init, болон start функцүүд
• Аплет ажиллахад автоматаар дуудагддаг.
• JApplet классыг удамшуулж авсан класст эдгээр
функцийн кодгүй хувилбар удамшин ирдэг.
– Free versions have empty body (do nothing)
– Бүх аплетад энэ гурван функц байх шаардлаггүй.
» Хэрэгтэйгээ дахин тодорхойлж ашиглана.
Paint функц дуудагдсанаар аплет зурагдаж
эхэлдэг.
Объект хандлагат програмчлал
Улаанбаатар Их Сургууль 2013 он
14. Logo
Аплет (жишээ тайлбар)
14
super.paint( g );
JApplet эх класын paint функцийг дуудаж байна.
Аплет бүрийн эхний мөрөнд энэ мөр байх ѐстой.
17
g.drawString( "Welcome to Java Programming!", 25, 25 );
Paint функцийн бие хэсэгт:
• drawString функц (Graphics классын)
• Graphics классын g обьектоор дамжуулж дуудагдана.
• Аргументууд:
– Эхний аргумент: зурах тэмдэгт мөр
– дараачийн: x координатын (цэгээр) байрлал
– гуравдахь: y координатын (цэгээр) байрлал
Java координатын систем:
• Цэгээр хэмжигдэнэ.
• Зүүн дээд булангийн координат нь: (0,0)
Объект хандлагат програмчлал
Улаанбаатар Их Сургууль 2013 он
15. Logo
Аплет (жишээ тайлбар)
Ажиллуулах:
Компиляци хийх:
javac WelcomeApplet.java
Хэрвээ алдаа гарахгүй бол байт код нь
WelcomeApplet.class файлд хадгалагдана.
HTML файл үүсгэнэ.
Аплетаа appletviewer эсвэл вэб броузераар
дуудна.
.htm эсвэл .html өргөтгөлтэй байна.
Аплетийг ажиллуулах:
Ямар аплет дуудахыг заасан HTML файл
үүсгэн вэб дээр харна.
Объект хандлагат програмчлал
Улаанбаатар Их Сургууль 2013 он
16. Logo
Аплет (жишээ тайлбар)
1
2
3
4
<html>
<applet code = "WelcomeApplet.class" width = "300"
height = "45">
</applet>
</html>
Жирийн HTML файл (WelcomeApplet.html)
• Ихэвчлэн .class файлтай хамт нэг хавтаст байрладаг.
• .class файл нь компиляци хийсний дараа үүсдэг.
HTML кодууд (tag)
• Ихэвчлэн хос хосоороо бичигддэг.
• < тэмдэгтээр эхэлж > тэмдэгтээр төгсөнө.
2-р мөрт <applet> таг эхэлж байна:
• Аплетийн кодыг зааж өгнө.
• Аплетийн зурагдах хэмжээг цэгээр зааж өгдөг.
Объект хандлагат програмчлал
Улаанбаатар Их Сургууль 2013 он
17. Logo
Аплет (жишээ2)
Хоѐр жишээ үзье:
Эхнийх нь:
• Хоѐр мөр текст үзүүлэх аплет.
• drawString функцийг хоѐр удаа ашиглана.
Хоѐрдахь нь:
• g.drawLine(x1, y1, x2, y2 ) функц нь:
– (x1, y1) цэгээс (x2, y2) цэг рүү шулуун зурна.
– (0, 0) цэг нь зүүн дээд булан гэдгийг санаарай.
• drawLine функцийг ашиглан текстийн
дээгүүр, доогуур зураас татах.
Объект хандлагат програмчлал
Улаанбаатар Их Сургууль 2013 он
23. Logo
Аплет (жишээ 2.3) үргэлжлэл
1
2
3
4
<html>
<applet code = "WelcomeApplet2.class“ width = "300" height = "60">
</applet>
</html>
Объект хандлагат програмчлал
Улаанбаатар Их Сургууль 2013 он
25. Logo
Аплет (жишээ 2.3) тайлбар
12
public void init()
Init функц
• Аплет классын өгөгдлүүдэд анхны утгыг
олгодог.
• Аплет ачаалагдахад хамгийн түрүүнд
дуудагддаг.
• Утга олгох үйлдэл хийдэг учраас утга
буцаадаггүй (void)
Объект хандлагат програмчлал
Улаанбаатар Их Сургууль 2013 он
26. Logo
Аплет (жишээ 2.3) тайлбар
14
15
16
17
18
String firstNumber;
String secondNumber;
// first string entered by user
// second string entered by user
double number1;
double number2;
// first number to add
// second number to add
Хувьсагчдыг зарлаж байна.
Хоѐр төрлийн хувьсагч байдаг:
• Reference хувьсагч:
– Обьект юм
» Обьектууд нь классыг ашиглан зарлагдана.
» Олон өгөгдөл, функц агуулах чадвартай.
– Paint функц нь Graphics классын g обьектийг
хүлээн авна.
– Graphics классын функцүүдийг дуудах зорилгоор
ашиглагддаг.
• Primitive хувьсагч (хувьсагч гэдэг)
– Нэг өгөгдөл агуулдаг.
Объект хандлагат програмчлал
Улаанбаатар Их Сургууль 2013 он
27. Logo
Аплет (жишээ 2.3) тайлбар
14
15
16
17
18
String firstNumber;
String secondNumber;
// first string entered by user
// second string entered by user
double number1;
double number2;
// first number to add
// second number to add
reference болон хувьсагчдыг ялгах
• Хэрэв төрөл нь класс бол reference юм.
– String бол класс
– firstNumber, secondNumber нар нь reference.
• Хэрэв төрөл нь өгөгдлийн үндсэн төрөл
байвал хувьсагч гэж ойлгоно.
– double бол үндсэн төрөл.
– number1, number2 нар нь хувьсагч.
Объект хандлагат програмчлал
Улаанбаатар Их Сургууль 2013 он
28. Logo
Аплет (жишээ 2.3) тайлбар
29
30
number1 = Double.parseDouble( firstNumber );
number2 = Double.parseDouble( secondNumber );
Double.parseDouble статик функц:
• String аргументийг double рүү
хөрвүүлнэ.
• double утга буцаана.
• Статик функцийн хэлбэр нь :
– ClassName.methodName( arguments )
Объект хандлагат програмчлал
Улаанбаатар Их Сургууль 2013 он
29. Logo
Аплет (жишээ 2.3) тайлбар
45
g.drawRect( 15, 10, 270, 20 );
drawRect( x1, y1, width, height )
фунц:
• (x1, y1) координаттай цэгээс width өргөнтэй height
урттай тэгш өнцөгт зурна.
• 45-р мөрт (15 , 10) цэгээс 270 өргөнтэй 20 өндөртэй
тэгш өнцөгт зурах код байна.
Объект хандлагат програмчлал
Улаанбаатар Их Сургууль 2013 он
34. Logo
Даалгавар
Java аплет ашиглан дараах програмыг хийнэ:
Цэг эх классаас шулуун, эллипс, тэгш өнцөгт классууд
удамшина.
Эллипс ээс тойрог
Тэгш өнцөгтөөс квадрат
Дүрс бүр өнгө болон бусад шаардлагатай
хувьсагчид болон зурах, өнгө солих, координат
солих, арилгах зэрэг хэрэгтэй функцүүдээр
хангагдсан байна.
Байгуулагч болон устгагч функцүүдийг хийж өгөхөөс
гадна, public, private, protected хувьсагчдыг
хэрэглэнэ.
Төгсгөлгүй давталт ашиглан програмыг
үргэлжлүүлэн ажиллуулсаар байх ба -1 утга өгөхөд
програмыг дуусгана.
Объект хандлагат програмчлал
Улаанбаатар Их Сургууль 2013 он
35. Logo
Даалгавар
Програмын удирдлага:
1: Бүх обьектуудын өгөгдлийг хэвлэнэ.
2: шулуун зурна.
3: тойрог зурна.
4: тэгш өнцөгт зурна.
5: эллипс зурна.
6: кв зурна.
7: утга оруулж дүрсийг арилгана.
8: зурах өнгийг сонгоно.
-1: програмаас гарна.
Хугацаа 2 долоо хоног.
Объект хандлагат програмчлал
Улаанбаатар Их Сургууль 2013 он
36. Logo
Шинэ үгс
Abstract class: Хийсвэр класс. Функцүүд нь кодгүй
байна. Удамшсан классуудад нь ямар функц заавал
байх ѐстойг зааж өгдөг.
Abstract method: Абстракт класс дотор байх функцийн
тодорхойлолт. Энэ функц нь кодгүй байдаг бөгөөд
абстракт классаас удамшсан класс нь түүнийг абстракт
функцүүдийг дахин тодорхойлох ѐстой.
implementation: Код бичих процессийг implementation
гэдэг.
protected:
Уг классын болон түүнээс удамшсан
бусад классын функцүүдээс хандаж болох хувьсагч
болон функц.
Garbage collection: Java нь ашиглагдахгүй болсон
обьектуудыг санах ойгоос олж түүний finalize функцийг
дуудан уг обьектийг санах ойгоос чөлөөлдөг. Энэ
процессийг хог цуглуулалт буюу garbage collection гэдэг.
Объект хандлагат програмчлал
Улаанбаатар Их Сургууль 2013 он