PROGRAMMING #6 : Java Programming for Programmer - Classes and Objects (PART 1) | SUB [ENG-ID]

in #programming7 years ago

RESOURCES TO LEARN JAVA

Introduction

Now it is time to review the class manufacture, control access to members of a class, and the creation of constructors. In this article, we discuss the composition, a capability that allows a class to have a reference to the object of the other class members. Will be checked again usability set and get method. Remember that it is assumed that you have been introduced to the base of the enum type to declare a set of constants. In this article, we will discuss the relation between the enum and the class types and it is demonstrated that an enum, such as a class, can be declared within its own file having constructors, methods and data fields. In this article will also discuss about static class members and final example variables in more detail. at the end will explain how to organize classes in packages to assist in managing large applications and promoting code recycling. On that occasion also will show a special relationship between fellow class package.

Time Class Case Study

In the first example, two classes will be presented, namely Time1 (code 1.1) and testTime (1.2). Class Time1 represents the time of day. The Timing Class Time1 is an application class in which the main method creates an object from the class of Time1 and invokes its methods. These two classes are declared in two different files because they are both public classes. Program output can be seen in code 1.2.

Class Declarations Time1

These private sample variables, clock, minute and second in class Time1 (code 1.1, line 6-8) represent time in universal time format (24 hour format where the clock is in the range 0-23). Class Time1 contains three public methods, namely setWaktu (barus 12-15), toUniversalString (lines 28-31), and toString (34-39). These three methods are also known for the public service or public interface that the class provides to its clients.

Default Constructor

In this example, the Time1 class does not declare a constructor, so the class has the default constructor provided by the compiler. Each instance variable int implicitly receives the default value of 0. The instance variable can also be initialized when declared within the class body using the same initialization syntax as initializing local variables.

Code 1.1

Time Sets and Throwing Exception Methods

The time set method (line 12-15) is a public method that declares three int parameters and uses them to set the time. Lines 15-16 test each argument to determine whether the value is within the appropriate range, if yes, rows 18-20 assigns all three values to the instance variable hours, minutes, and seconds. Values hours must be greater than or equal to 0 and less than 24, because the format represents a universal time clock as an integer from 0 to 23 (1 PM mean hours of 13 and 11 pm means hours 23; midnight is hour 0). With the same description, the value of minutes, and seconds must be greater than or equal to 0 and less than 60. For values outside of that range, the Timestamp method will throw an exception of type IllegalArgumentException (line 23-24), which tells the user the code that there is an invalid argument passed to the method.

As you have learned, you can use try ... catch to catch an exception and try to recover the state, which has been done in code 2. The throw statement (line 23) creates an object of type IllegalArgumentException. Opening brackets that follow the class name indicate that the IllegalArgumentException constructor call. In this case, it is called a constructor that will allow you to display an error message. After the exception object is created, the throw statement immediately dismisses the set method of time and the exception is returned to the code that tries to set the time.

To be continued...


[ID]


Pengantar

Sekarang saatnya untuk meninjau ulang pembuatan kelas, pengendalian akses anggota-anggota suatu kelas, dan penciptaan konstruktor. Pada artikel ini, akan dibahas tentang komposisi, suatu kapabilitas yang membolehkan kelas untuk memiliki referensi kepada objek dari kelas lain sebagai anggota. Akan diperiksa kembali kegunaan metode set dan get. Ingat bahwa diasumsikan pada anda telah dikenalkan dasar dari tipe enum untuk mendeklarasikan sehimpunan konstanta. Pada artikel ini, akan dibahas relasi antara tipe enum dengan kelas dan didemonstrasikan bahwa enum, seperti suatu kelas, dapat dideklarasikan di dalam file-nya sendiri yang memiliki konstruktor, metode dan bidang data. Pada artikel ini juga akan dibahas tentang anggota kelas static dan variabel contoh final secara lebih detail. pada bagian akhir akan dijelaskan bagaimana mengorganisasi kelas-kelas di dalam paket-paket untuk membantu dalam pengelolaan aplikasi yang besar dan mempromosikan pendaur ulangan kode. Pada kesempatan itu pula akan ditunjukkan relasi khusus antar kelas sesama paket.

Studi Kasus Kelas Waktu

Pada contoh pertama, akan disajikan dua kelas, yakni Waktu1 (kode 1.1) dan UjiWaktu1 (1.2). Kelas Waktu1 merepresentasikan waktu dalam hari. Kelas UjiWaktu1 merupakan kelas aplikasi dimana di dalamnya metode main menciptakan suatu objek dari kelas Waktu1 dan memanggil metode-metodenya. Kedua kelas ini dideklarasikan di dua file yang berbeda karena keduanya merupakan kelas public. Keluaran program dapat dilihat pada kode 1.2.

Deklarasi Kelas Waktu1

Variabel contoh private ini, jam, menit dan detik pada kelas Waktu1 (kode 1.1, baris 6-8) merepresentasikan waktu dalam format waktu universal (format 24 jam dimana didalamnya jam berada dalam rentang 0-23). Kelas Waktu1 memuat tiga metode public, yakni setWaktu (barus 12-15), toUniversalString (baris 28-31), dan toString (34-39). Ketiga metode ini juga dikenal dengan layanan publik atau antarmuka publik yang disediakan kelas kepada kliennya.

Konstruktor Default

Pada contoh ini, kelas Waktu1 tidak mendeklarasikan suatu konstruktor, sehingga kelas memiliki konstruktor default yang disediakan oleh penyusun. Setiap variabel contoh int secara implisit menerima nilai default 0. Variabel contoh dapat pula diinisialisasi ketika dideklarasikan di dalam tubuh kelas menggunakan sintaksis inisialisasi yang sama dengan penginisialisasikan variabel lokal.

Kode 1.1

Metode SetWaktu dan Melempar Eksepsi

Metode setWaktu (baris 12-15) merupakan suatu metode public yang mendeklarasikan tiga parameter int dan menggunakannya untuk menetapkan waktu. Baris 15-16 menguji setiap argumen untuk menentukan apakah nilainya berada dalam rentang yang tepat, jika ya, baris 18-20 menugaskan ketiga nilai tersebut kepada variabel contoh jam, menit, dan detik. Nilai jam harus lebih besar atau sama dengan 0 dan lebih rendah dari 24, karena format waktu universal merepresentasikan jam sebagai suatu integer dari 0 sampai 23 (1 PM berarti jam 13 dan 11 PM berarti jam 23; tengah malam adalah jam 0). Dengan penjelasan yang sama, kedua nilai menit, dan detik harus lebih besar dari atau sama dengan 0 dan kurang dari 60. Untuk nilai-nilai di luar rentang itu, metode setWaktu akan melempar eksepsi bertipe IllegalArgumentException (baris 23-24), yang memberitahukan pengguna kode bahwa terdapat argumen tidak valid yang dilewatkan kepada metode.

Seperti yang telah anda pelajari, anda bisa menggunakan try...catch untuk menangkap eksepsi dan mencoba untuk memulihkan keadaan, yang telah dilakukan pada kode 2. Pernyataan throw (baris 23) menciptakan suatu objek bertipe IllegalArgumentException. Kurung buka yang mengikuti nama kelas mengindikasikan bahwa pemanggilan konstruktor IllegalArgumentException. Pada kasus ini, dipanggil konstruktor yang akan membolehkan anda untuk menampilkan pesan kesalahan. Setelah objek eksepsi diciptakan, penyataan throw dengan segera memberhentikan metode setWaktu dan eksepsi dikembalikan kepada kode yang mencoba untuk menetapkan waktu.

Bersambung...


FOLLOW ME AT

THANK'S FOR READING THIS POST, AND THANK'S FOR YOUR SUPPORT. IF YOU LIKE IT, UP VOTE AND KEEP RESTEEM.

LOOK FORWARD TO THE NEXT POST >>>


INDONESIAN STEEMIT COMMUNITY

Sort:  

Akhirnyaaaa, go again !!! Semangattt.....

Terima kasih banyak bang hahaha , semoga bisa konsisten lagii @kemal13

Terima kasih bang ucok :D @kakilasak

Coin Marketplace

STEEM 0.18
TRX 0.16
JST 0.029
BTC 77191.63
ETH 2961.40
USDT 1.00
SBD 2.63