Sabtu, 10 Mei 2014

Pengenalan Perl OO

Hari ini mau tulis perl object oriented. Ada tiga istilah yang perlu dijelaskan berasal dari sudut pandang bagaimana perl menangani object, yakni object, class, dan method.
- Di dalam perl, object hanya sebuah rujukan (reference) ke tipe data yang mengetahui class itu dimiliki. Object tersebut disimpan sebagai rujukan (reference) dalam variabel scalar.
- Class di perl adalah package yang berisi method yang dibutuhkan untuk membuat dan memanipulasi object.
- Method adalah subroutine, didefinisikan pada package. Argumen pertama pada method adalah object reference atau nama package. Tergantung apakah method itu berpengaruh pada object saat ini atau class. 
Oke langsung aja kita buat contoh class di perl.

package Person;

sub new
{
     my $class = shift;
     my $self =  {
                  _firstname => shift,
                  _lastname => shift,
                  _ssn          => shift,
     };

     print "First name is $self->{_firstname}\n";
     print "Last name is $self->{_lastname}\n";
     print "SSN is $self->{_ssn}\n";
     bless $self, $class;
     return $self;
}

sub getFirstName
{
      my ( $self ) = @_;
      return $self->{_firstname};
}

1;

Setelah itu simpan kode di atas dengan nama file Person.pm, extension *.pm artinya perl module. Di perl, untuk membuat class, kita butuh keyword package. Cakupan class di atas yakni sampai akhir baris pada file, kecuali bertemu keyword package yang lain. Lalu untuk membuat method, bisa dilihat pada getFirstName.
Kemudian cara menggunakan class Person di atas,  kita coba buat script perl baru. 

#!/usr/bin/perl

use Person;

$object = new Person("Ardi", "Cakep", 112233);
$firstname = $object->getFirstName();

Simpan file di atas dengan nama mail.pl. Run script di atas, maka hasilnya
First name is Ardi
Last name is Cakep
SSN is 112233

Ini baru dasarnya aja ya, oh ya yang perlu diingat adalah pada konfigurasi di atas, kedua file tersebut harus berada pada satu folder ya. Kalau tidak satu folder, akan muncul error. Cukup mudah bukan, kalau ada yang tidak paham bisa lihat link ini.

0 komentar:

Posting Komentar