Thursday, February 19, 2009

Багцын хандалтат классууд

Java хэлийг судалж байгаа найзууддаа Объект Хандалтат аргачлалын онцлогоос тусгасан нэгэн жишээ source-ийг танилцуулъя. Хэдийгээр энэ хэдэн багцын хандалтат коднууд жижигхэн харагдаж байгаа хэдий ч Объект хандалтат технологид суралцахад үндсэн ойлголтыг өгөх болов уу хэмээн бодлоо.

package my.java;
import java.io.*;
public class AskName {
public void Ask() {
System.out.printf("Hello! ");
System.out.printf("What's your name?\n");
}
public String Answer() throws IOException {
InputStreamReader inStream = new
InputStreamReader(System.in);
BufferedReader br = new BufferedReader(inStream);

String name = br.readLine();
return name;
}
}
Main класс-д AskName классын Ask() функцийг дуудахад Hello! What's your name? тэмдэгт мөрийг хэвлээд, Answer() функцээр гараас тэмдэгт мөрийг авч тэр утгыг буцаана.
package my.java;
public class HelloClass {
public String PrintHello(){
return "Hello! ";
}
}
HelloClass классын PrintHello() функц Hello тэмдэгт мөр утгыг буцаана.
package my.java;
import java.io.*;
public class Main{
public static void main(String[]args) throws IOException{
AskName hi = new AskName();
HelloClass he = new HelloClass();

hi.Ask();

System.out.println(he.PrintHello()+hi.Answer());
}
}
Дээрхи классууд my/java директорт хадгалагдахаа мартаж үл болно. Хэрвээ зөв ажиллуулбал дараах үр дүнг үзүүлнэ.

10 comments:

SekE said...

Сайн байна уу? Энэ багцыг нэг л сайн ойлгож өгдөггүй ээ. Энэ нь 2 source-г нэг болгож харуулдаг юм уу?
мань мэтийн үл мэдэхүүдэд хэрэгтэй юм бичиждээ. :)

Гансүх said...

Сайн байна уу.
Бидний жишээнд Main class-даа цуг нэг багцад хадгалагдаж байгаа AskName классын Ask(), Answer(),

HelloClass классын PrintHello() функцыг дуудаж ажиллуулж байна гэсэн үг юм.

Ингэснээр програмын гол Main классын кодны хэмжээ багасаж, кодоо ойлгоход дөхөмтэй болж байгаа юм.

Мөн AskName, HelloClass классуудаа дахин дахин бусад програмдаа хэрэглэж боломжтой гэдэг нь Объект Хандалтат Програмчлалын бидэнд олгож буй нэгэн том боломж юм аа.

SekE said...

аан. тайлбарласанд баярлалаа. Өчигдөр уул нь anonymous-аар бичих гэж байгаад нойрмогдоо өөрийнхөө нэрээр биччихэж. :D

Гансүх said...

Хааяа Anonymous-дах ч зүгээр шүү. :)

SekE said...

Сайхан шинэлээрэй.

Гансүх said...

Блог дээр чинь комент үлдээх гэсэн боловч "баталгааны код" гарч ирдэггүй.

Сар шинэдээ сайхан шинэлээрэй.

Chandmani said...

Сар шинэдээ сайхан шинэлээрэй. Программын ургац арвин байх болтугай. :)

Гансүх said...

Баярлалаа

Өнөржаргал said...

Сар шинэдээ сайхан шинэлээрэй! :)

Ch.Erdenebat said...

Сар шинийн мэнд хүргэе.

:)) ;)) ;;) :D ;) :p :(( :) :( :X =(( :-o :-/ :-* :| 8-} :)] ~x( :-t b-( :-L x( =))

Post a Comment