Sabtu, 04 Juni 2011

BAHASA BERORIENTASI OBJEK

BAHASA BERORIENTASI OBJEK
Java adalah bahasa berorientasi objek murni. Berarti bahwa segala sesuatu pada program Java adalah objek dan segala sesuatu diturunkan dari satu kelas objek. Seperti semua program berorientasi objek, program ini dipecah menjadi beberapa objek yang akan berkomunikasi dan melakukan aksi. Pada Latihan 4 berikut ini, kita akan mempunyai tiga objek, yaitu : book (Latihan 4), bookshelf (Latihan 4a) dan objek pembungkus fungsi main() yang dinamakan bookMain (Latihan 4b).
Latihan 4.
//books.java
import java.lang.String;
import java.io.DataInputStream;
import java.io.IOException;
class book  {
    protected String title;
    protected String author;
    protected String publisher;
    book next;
    book()
    {
        title = author = publisher = “ “;
        next = null;
     }
     book(book other)
     {
         title = other.title;
         author = other.author;
         publisher = other.publisher;
         next = null;
      }
      book(String aTitle, String anAuthor, String aPublisher)
      {
          title = aTitle;
          author = anAuthor;
          publisher = aPublisher;
          next = null;
       }
       void getBook()
       {
           try  {
              DataInputStream dis = new DataInputStream(System.in);
              System.out.print(“Enter title          : “);
              System.out.flush();
              title = dis.readLine();
              if (title.equals(“done”))
                  return;
              system.out.print(“Enter author       : “);
              system.out.flush();
              author = dis.readLine();
              system.out.print(“Enter publisher   : “);
              system.out.flush();
              publisher = dis.readLine();
              next = null;
           }  catch (IOException ioe)
           {
               System.out.println (ioe.toString());
               System.out.println (“Unable to get the book data.“);
               return;
            }
        } 
        void showBook()
        {
             System.out.println (“Title              :” + title);
             System.out.println (Author            :“ + author);
             System.out.println (Publisher        :” + publisher);
         }
         // Pengakses data
         String getTitle() {  return title;  }
         String getAuthor()  {  return author;  }
         String getPublisher()  {  return publisher;  }
         // Pengubah data
         void setTitle(String aTitle)  {  title = aTitle;  }
         void setAuthor(String anAuthor)  {  author = anAuthor;  }
         void setPublisher(String aPublisher)  {  publisher = aPublisher;  }
}
Listing latihan 4a. berikut ini berisi implementasi kelas bookshelf. Kelas ini benar-benar merupakan contoh yang sangat penting karena disini dapat dilihat perbedaan antara Java dan C++. Kelas ini juga mendemonstrasikan bagaimana Java dapat membuat struktur data yang menunjuk dirinya sendiri tanpa menggunakan pointer.
Latihan 4a.
class Bookshelf   {
    protected book first, last;
    protected long count;
    Bookshelf()
    {  
        first = last = null;
        count = 0;
    }  
    void add(book aBook)
    {
         if (first != null)
         {
             last.next = new book(aBook);
             last = last.next;
         }
         else
         {
             first = new book(aBook);
             last = first;
         }
         count++;
    }
    long size()  {  return count;  }
    void print()
    {
         book curBook = first;
         int cnt=1;
         while (curBook != null)
         {
              System.out.println(“Book :     “ + cnt++);
              curBook.showBook();
              curBook = curBook.next;
         }
      }
}
Pada listing latihan 4b berikut ini adalah implementasi kelas ini. Fungsi main memproses masukan dari pengguna dan membuat senarai berantai untuk buku di rak buku kita kemudian mencetaknya ke layar monitor.
Latihan 4b.
class bookMain  {
    public static void main(String args[])
    {
        Bookshelf mybooks = new Bookshelf();
        boolean done = false;
        System.out.println(“Enter your books.”);
        System.out.println(“Type ‘done’ when finished.”);
        while (!done)
        {
            book curBook = new book();
            curBook.getBook();
            if (! (curBook.getTitle()) .equals(“done”))
            {
                mybooks.add(curBook);
            }
            else
                 done = true;
          }
          // Mencetak judul buku yang ada di rak buku
          System.out.println(“Number of books in bookshelf :  “ + mybooks.print();
     }
}
Berikut ini adalah keluaran dari program bookMain di atas :
Enter your books.
Type ‘done’ when finished.
Enter title
Enter author
Enter publisher
Enter title
Enter author
Enter publisher
Enter title
:
:
:
:
:
:
:
Belajar Java
Hendra Adiguna
Flash Net
Belajar Java Script
Hendra Adiguna
Flasn Net
done
Number of books in bookself : 2
Book : 1
Title         : Belajar Java
Author     : Hendra Adiguna
Publisher : Flash Net
Book  : 2
Title         : Belajar Java Script
Author     : Hendra Adiguna
Publisher : Flash Net
Pada program diatas, System.out.println() merupakan kelas bawaan dan masih ratusan lagi kelas pada lingkungan Java.

        

0 komentar:

Posting Komentar