- 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
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 : Pria
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