Rabu, 23 September 2009

OVERLOADING DAN CONSTRUCTOR

  1. overloading
    overloading adalah penggunaan nama yang sama untuk beberapa fungsi maupun method, namun dalam tiap2 fungsi tersebut memiliki perbedaan, walupun namanya sana. perbedaan itu mencakup parameter maupun return value dari suatu fungsi
  • Overlading bisa juga diartikan dengan istilah sebagai berikut, metode dengan nama yang sama, parameter yang berbeda, me-return value dengan return type yang berbeda
  • Dapat digunakan ketika operator yang sama memiliki implementasi yang berbeda
Tujuan : memudahkan penggunaan/pemanggilan method dengan fungsionalitas yang mirip.

Aturan Pendeklarasian Method Overloading

  • Nama method harus sama
  • Daftar parameter harus berbeda
  • Return type boleh sama, juga boleh berbeda

Daftar Parameter Pada Overloading

Perbedaan daftar parameter bukan hanya terjadi pada perbedaan banyaknya parameter, tetapi juga urutan dari parameter tersebut.
Misalnya saja dua buah parameter berikut ini :
function_member(int x, String n)
function_member(String n, int x)
Dua parameter tersebut juga dianggap berbeda daftar parameternya.

Daftar Parameter Pada Overloading

Daftar parameter tidak terkait dengan penamaan variabel yang ada dalam parameter.
Misalnya saja 2 daftar parameter berikut :
function_member(int x)
function_member(int y)
Dua daftar parameter diatas dianggap sama karena yang berbeda hanya penamaan variabel parameternya saja.


Contoh
Titik {X,Y}
Titik {X,Y,Z}

Ciri-ciri Overloading
Nama method harus sama
Daftar Parameter harus berbeda
Return type boleh sama boleh berbeda

Contoh Overloading dengan constructor

#include

class CRectangle {
int width, height;
public:
CRectangle ();
CRectangle (int,int);
int area (void) {return (width*height);}
};
CRectangle::CRectangle () {
width = 7;
height = 9;
}
CRectangle::CRectangle (int a, int b) {
width = a;
height = b;
}
int main () {
CRectangle rect (2,4);
CRectangle rectb;
cout << "rect area: " << rect.area() << endl;
cout << "rectb area: " << rectb.area() << endl;


}



OUTPUT>>














adapun contoh lainnya:

01.using System;
02.
03.class overloadingMethod
04.{
05.public void biodata()
06.{
07.Console.WriteLine("Biodataku");
08.this.biodata("Aji");
09.}
10.
11.public void biodata(string nama)
12.{
13.Console.WriteLine("Namaku : {0}", nama);
14.this.biodata(23, "Pria");
15.}
16.
17.public void biodata(int umur, string kel)
18.{
19.Console.WriteLine("Umurku : {0}", umur);
20.Console.WriteLine("Jenis Kelamin : {0}", kel);
21.
22.}
23.}
24.
25.class latihan
26.{
27.static void Main()
28.{
29.overloadingMethod latOverloading = new overloadingMethod();
30.latOverloading.biodata();
31.Console.ReadLine();
32.}
33.}

Hasil outputnya adalah sebagai berikut :

Biodataku
Namaku : Aji
Umurku : 23
Jenis Kelamin : Pri
a


2.CONSTRUCTOR

Dasar teori

Jika area() dipanggil sebelum set_values() à hasil indeterminate à constructor utk menggantikan set_values().

Materi

Constructor merupakan suatu fungsi yg pertama kali dijalankan ketika program dijalankan

Namanya sama dengan nama Classnya

Biasanya untuk inisialisasi suatu variable

Bentuk Penulisan Konstruktor :

‘constructor

Public sub new (parameter)

Variable = inisialisasi

End sub

Constructor sangat penting dalam meng-instatiate sebuah object.

Constructor merupakan sebuah method yang digunakan untuk menempatkan semua penginisialisasian.

Constructor memiliki properti-properti, sbb:

Sebuah constructor seperti method yang lain, bagaimanapun hanya informasi berikut yang dapat ditempatkan dalam kepala constructor, lingkup atau kemampuan identifier mengakses (seperti public...), nama constructor dan parameter.

Constructor tidak memiliki return value.

Constructor tidak dapat dipanggil langsung. Constructor hanya dapat dipanggil dengan menggunakan operator new pada saat class instantiation.

Default constructor

merupakan constructor tanpa parameter.

default constructor secara implisit ada, jika class tidak mendeklarasikan constructor apapun.

Contoh :

public StudentRecord()

{

//source code disini

}

Fungsi & sifat constructor

Fungsi : Untuk memberi nilai awal atribut suatu class.

Sifat :otomatis dijlnkan pada saat objek class diciptakan. tidak bertipe walaupun void

sekalipun , dan tdk punya return value. nama constructor = nama class.

Macam-macam constructor:

Default constructor

nilai awal dg konstanta, tanpa parameter

Empty Constructor.

Copy constructor

nilai awal dg parameter, terdapat parameter

Object copy constructor

nilai awal berdsr nilai angg. objek lain, parameter berupa objek dari class yang sama.

Contoh Source code

// classes example

#include

class CRectangle {

int width, height;

public:

CRectangle (int,int);

int area (void) {return (width*height);}

};

CRectangle::CRectangle (int a, int b) {

width = a;

height = b;

}

int main () {

CRectangle rect (3,4);

CRectangle rectb (5,6);

cout << "rect area: " <<>

area: " <<>

}

Output



1 komentar:

Shikamaru Nara mengatakan...

good job gan
lem lcd

Posting Komentar