Lecture3 4

Post on 13-Apr-2017

885 views 1 download

Transcript of Lecture3 4

L o g o

Объект хандлагат програмчлал

Улаанбаатар Их Сургууль 2013 он

Класс, функцын тухайбагш Б.Ганзориг

L o g o

Объект хандлагат програмчлал Улаанбаатар Их Сургууль 2013 он

Агуулга

Функц түүний хэрэглээ 3

Функцийн аргумент дамжуулалт 4

1

2

Классын удамшил5

Байгуулагч функцын тухай6

JTextArea классын тухай, хэрэглээ

Java сан (Package)

Классын хувьсагчид7

L o g o

Улаанбаатар Их Сургууль 2013 он

JTextArea класс

Олон мөрөөс тогтсон текстүүдийг цонхон дээр дүрслэх чадвартай.

Цагаан хэсэг нь JTextArea

Объект хандлагат програмчлал

L o g o

Улаанбаатар Их Сургууль 2013 он

JTextArea класс

Ашиглахын тулд

import javax.swing.JTextArea; эсвэл import javax.swing.*; гэж оруулж өгнө.

Обьектийг нь зарлана:

JTextArea myText = new JTextArea();

Текстийг нь setText функцээр нь оруулж өгдөг.

myText.setText (“Hello class!”);

Объект хандлагат програмчлал

L o g o

Улаанбаатар Их Сургууль 2013 он

JTextArea класс ашигласан жишээ

Объект хандлагат програмчлал

L o g o

Улаанбаатар Их Сургууль 2013 он

JTextArea класс ашигласан жишээ үр дүн

Объект хандлагат програмчлал

L o g oСанамсаргүй тоо гаргах жишээ

Улаанбаатар Их Сургууль 2013 онОбъект хандлагат програмчлал

L o g o

Улаанбаатар Их Сургууль 2013 он

Санамсаргүй тоо гаргах жишээ

Объект хандлагат програмчлал

L o g oJava сан (Package)

Урьдчилан бэлдэж өгсөн классууд Java-ийн санд бүлэг бүлгээрээ байдаг.

Нэг төрлийн үүрэг гүйцэтгэдэг классууд нэг сан дотор байрладаг.

Санг import түлхүүр үгийн тусламжтай ашигладаг. Жишээ нь:

import javax.swing.JOptionPane;

Улаанбаатар Их Сургууль 2013 онОбъект хандлагат програмчлал

L o g oЖишээ сангууд

java.lang: java дээр бичигдсэн ихэнх програмууд ашигладаг гол үндсэн функцүүд байрлана. Бүх java програмд автоматаар импортлогддог.

javax.swing: График, цонх ашигласан java программуудад хэрэглэгдэнэ.

java.applet: аудио, клип, интернэт програмчлалд ашиглагдах аплет класс.

java.util: огноо, тэмдэгт мөр, санамсаргүй тоотой ажиллах классууд байрлана.

java.io: Java-н оролт гаралтын классууд. Файлаас угших, бичих гэх мэт.

Улаанбаатар Их Сургууль 2013 онОбъект хандлагат програмчлал

L o g oФункц зарлалт

Функц Програм бичих процессийг

хялбаршуулах Шаардлагатай үед дуудаж хэрэглэх Кодыг давтаж бичих үзэгдлээс

сэргийлэх Локал хувьсагч

Функц дотор зарлагдсан хувьсагч

Улаанбаатар Их Сургууль 2013 онОбъект хандлагат програмчлал

L o g oФункц зарлалт

Функцийг дараах байдлаар зарлана:public БуцаахТөрөл ФункцНэр (ПараметрТөрөл

Параметр)public static БуцаахТөрөл

ФункцНэр(ПараметрТөрөл Параметр)

Жишээ:public int square (int y)

public static String getName (int x, int y) Return түлхүүр үг ашиглан функц дотроос утга буцаадаг.

Return бичлэгийг ажиллуулангуут функц дуусаж програмын удирдлага уг функцийг хаанаас дуудсан тэнд буцаасан утгыг авч очдог.

Улаанбаатар Их Сургууль 2013 онОбъект хандлагат програмчлал

L o g oФункц ашиглалт

Cтатик функц ашигласан жишээ. Эхний 10 ширхэг тооны кубыг ол.

Улаанбаатар Их Сургууль 2013 онОбъект хандлагат програмчлал

L o g oФункц ашиглалт

Cтатик биш функц ашигласан жишээ. Эхний 10 ширхэг тооны кубыг ол.

Улаанбаатар Их Сургууль 2013 онОбъект хандлагат програмчлал

L o g oФункц дуудалтНэг классын функцүүд бие биенээ дуудах

дүрэм: Нэг классын статик функцээс тухайн классын

статик биш функцийг дуудвал заавал уг классын обьектоор дамжуулж дуудна.

Нэг классын статик функцээс тухайн классын статик функцийг дуудвал шууд нэрээр нь эсвэл обьектоор нь дуудаж болно.

Нэг классын статик биш функцээс тухайн классын статик болон статик биш функцийг дуудвал шууд нэрээр нь эсвэл обьектоор нь дуудаж болно.

Улаанбаатар Их Сургууль 2013 онОбъект хандлагат програмчлал

L o g oФункц дуудалтНэг классаас өөр классын функц дуудах

тохиолдолд: Өөр классын статик функцийг дуудвал заавал

классын нэрээр нь дуудна.• Жишээ нь B класс дотроос А классын static add функцийг

дуудвал:– A.add( );

Өөр классын статик биш функцийг дуудвал заавал обьектоор нь дамжуулж дуудна.• Жишээ нь B класс дотроос А классын add функцийг

дуудвал:– A myObject = new A( );– myObject.add( );

Улаанбаатар Их Сургууль 2013 онОбъект хандлагат програмчлал

L o g oФункцийн параметр дамжуулалтJava-д хоёр төрлийн параметр (аргумент)

дамжуулалт байдаг. Утгаар дамжуулах (Pass by Value)

• Дамжуулагдаж байгаа параметрийн утгыг хуулаад функцэд дамжуулна.

• Өгөгдлийн үндсэн төрлүүд (int, char, гэх мэт эхний үсэг нь жижгээр бичигддэг төрлүүд) бүгд утгаар дамжигддаг.

Заалтаар дамжуулах (Pass by Reference)• Дамжуулж буй өгөгдлийн эх хувийг дамжуулна.• Дуудагдсан функц энэ эх хувийг өөрчилж болно.• Утгаар дамжуулахыг бодвол илүү хурдан байдаг.• Java-д бүх обьектууд заалтаар дамжигддаг.

Java –д массив бол обьект юм.Улаанбаатар Их Сургууль 2013 онОбъект хандлагат програмчлал

L o g oФункцийн параметр дамжуулалт

Улаанбаатар Их Сургууль 2013 онОбъект хандлагат програмчлал

L o g oУтгаар параметр дамжуулах

Улаанбаатар Их Сургууль 2013 онОбъект хандлагат програмчлал

L o g oЗаалтаар параметр дамжуулах

Объект хандлагат програмчлал Улаанбаатар Их Сургууль 2013 он

L o g o

Улаанбаатар Их Сургууль 2013 он

Классын удамшил (inheritance)

Java-н класс бүр ямар нэгэн классыг удамшуулсан байдаг.

Удамшуулахдаа extends түлхүүр үгийг ашиглана: public class Car extends Vehicle{…

Хэрвээ extends үгийг ашиглаагүй байвал java.lang.Object классаас удамшдаг.

Объект хандлагат програмчлал

L o g o

Улаанбаатар Их Сургууль 2013 он

Классын байгуулагч функц (constructor)

Классын обьектийг үүсгэн анхны утгыг нь олгоход хэрэглэгдэнэ.

Обьектийг үүсгэх үед дуудагддаг.Класс дотор зарлагдана.Нэр нь классын нэртэй адилхан

байна.Аргумент авч болох боловч утга

буцаадаггүй.

Объект хандлагат програмчлал

L o g o

Улаанбаатар Их Сургууль 2013 он

Классын байгуулагч функц (constructor)

Нэг класст олон байгуулагч функц байж болно.

(Дахин тодорхойлолт= overloading)

new ClassName( argument1, argument2, …, arugmentN );

new нь шинэ обьект үүсгэж байгааг илтгэнэ. ClassName нь ямар төрлийн обьект үүсгэж

байгааг заана. Аргументууд нь классын энэ байгуулагч функцэд

дамжуулагдана.• TestClass myObject = new TestClass();• TestClass myObject = new TestClass(1, 5, “test”);

Объект хандлагат програмчлал

L o g o

Улаанбаатар Их Сургууль 2013 он

Классын хувьсагчид

Классын хувьсагчид нь уг классын бүх функцүүдэд ашиглагдаж болно.

Классын хувьсагчдийг классын эхэнд функцүүдийн өмнө зарладаг.

Классын хувьсагчид нь хандалтын тодорхойлогчтой байдаг:

• Public• Private• protected

Объект хандлагат програмчлал

L o g o

Улаанбаатар Их Сургууль 2013 он

Классын хувьсагчид

Public хувьсагч: ийм хувьсагчид програмд оролцож байгаа бүх классын функцүүд хандаж чадна.

• public String name;Private хувьсагч: ийм хувьсагчид зөвхөн

уг классын л функцүүд хандаж чадна.• private int age;

Protected хувьсагч: ийм хувьсагчид уг классын функцүүд болон түүнээс удамшсан классын функцүүд хандаж чадна.

• protected int x;

Объект хандлагат програмчлал

L o g o

Улаанбаатар Их Сургууль 2013 он

Объект хандлагат програмчлал