2009/02/19

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

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 директорт хадгалагдахаа мартаж үл болно. Хэрвээ зөв ажиллуулбал дараах үр дүнг үзүүлнэ.

11 comments:

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

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

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

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

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

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

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

    ReplyDelete
  5. Surprise ! Танд iseke.blogspot.com-аас 100 ширхэг бууз, 5 таваг салат, 5 ширхэг чихэр, 2 стикан ундаа, 1 ширхэг 00-ын цаас илгээлээ. :) Та хоолоор цэнэглэгдлээ. Сайхан битүүлээрэй.

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

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

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

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

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

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

    ReplyDelete

Миний бичсэн бичлэг танд өчүүхэн ч болтугай хэрэг болсон бол сэтгэгдлээ бичиж үлдээхийг хүсье. Баярлалаа :)