Inheritance = Pewarisan , Mewariskan objek yang
dimiliki ke pada objek yang diturunkan , bersifat menyeluruh.
Kelas yang mewariskan biasa di sebut super class / class induk
Kelas yang diwariskan biasa di sebut sub class / kelas anak
Kelas yang mewariskan biasa di sebut super class / class induk
Kelas yang diwariskan biasa di sebut sub class / kelas anak
Secara lebih singkat begini :
A sebagai Ayah memiliki Anak bernama B , A berkulit Hitam maka B akan berkulit Hitam jg .
A sebagai Ayah memiliki Anak bernama B , A berkulit Hitam maka B akan berkulit Hitam jg .
Ini merupakan inheritance terhadap A kepada B , dan
inheritance bukan hanya dapat 1x diwariskan , tetapi dapat lebih dari 1x.
seperti berikut :
A sebagai Ayah memiliki Anak bernama B , A berkulit Hitam maka B akan berkulit Hitam jg . dan B pun memiliki anak C maka C pun akan berkulit hitam
A sebagai Ayah memiliki Anak bernama B , A berkulit Hitam maka B akan berkulit Hitam jg . dan B pun memiliki anak C maka C pun akan berkulit hitam
Keuntungan dari inheritance :
- Tidak perlu mendefinisikan Variabel Bila membutuhkan , Cukup menurunkan dari class induk
- Memudahkan dan Mempercepat pemprogramman , mengurangi Code
- Tidak perlu mendefinisikan Variabel Bila membutuhkan , Cukup menurunkan dari class induk
- Memudahkan dan Mempercepat pemprogramman , mengurangi Code
Sample inheritance dalam C#.Net
public class A
{
public A() { }
}
public class B : A
{
public B() { }
}
Pholimorphisme
Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada
pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode
tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada
objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung
menerima pesan “gerak cepat”, dia akan menggerakan sayapnya dan terbang. Bila
seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan
berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan
kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel
tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi
program berjalan, dan teks program yang sama dapat memanggil beberapa metode
yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini
berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi
kelas-pertama.
Enkapsulasi = Pembungkusan , maksudnya di sini semua objek yang
kita definisikan / bisa juga informasi kita sembunyikan di dalam enkapsulasi
tersebut agar tidak dapat dibaca oleh kelas lain yang tidak berhak membacanya.
maksudnya secara lebih jelas agar memastikan agar object hanya dapat di ubah
oleh object yang mendapat ijin untuk mengubahnya , bila tidak memiliki ijin
maka tidak dapat mengubahnya atau membacanya.
Polymorphism = Memiliki Banyak Bentuk.
Contoh Polymorphism
Contoh Polymorphism
publicclass BaseClass
{
publicvoid DoWork() { }
public int WorkField;
public int WorkProperty
{
get { return 0; }
}
}
publicclass DerivedClass : BaseClass
{
publicnewvoid DoWork() { }
publicnew int WorkField;
publicnew int WorkProperty
{
get { return 0; }
}
}
Abstraksi
Abstraksi – Kemampuan sebuah program
untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk
memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari
“pelaku” abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya,
dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana
kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak,
dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
Aggregation
Overloading
Overloading Merupakan Suatu Function yang memiliki
parameter , dan function tersebut dapat memiliki nama function yang sama dengan
yang lainnya dengan syarat jumlah parameter mesti berbeda
atau bisa kita bilang Situasi di mana beberapa rutin
dalam sebuah program dapat mempunyai nama sama tetapi berbeda jenis parameter
dan/utau jenis return value.
lebih Jelasnya Overloading secara singkat :
·
Nama Method
Boleh Sama , Tapi Jumlah Parameter Mesti berbeda
·
Nilai Yang Di
Return Harus memiliki Tipe yang sama
Sample Overloading pada function TaxCalc pada C#.Net :
public static double TaxCalc(double pamt1,
double prate1, double pamt2,
double prate2)
{
double taxamt;
double prate2)
{
double taxamt;
Console.WriteLine(“Using method with 4
arguments”);
taxamt = (pamt1 * prate1) + (pamt2 * prate2);
taxamt = (pamt1 * prate1) + (pamt2 * prate2);
return taxamt;
} // *** TaxCalc ***
// This method only takes two arguments: an
amount and a rate
public static double TaxCalc(double pamt1, double prate1)
{
double taxamt;
public static double TaxCalc(double pamt1, double prate1)
{
double taxamt;
Console.WriteLine(“Using method with 2
arguments”);
taxamt = pamt1 * prate1;
taxamt = pamt1 * prate1;
return taxamt;
} // *** TaxCalc ***
// This method only takes one argument: an
amount
public static double TaxCalc(double pamt)
{
double taxrate = 0.15;
double taxamt = 0;
public static double TaxCalc(double pamt)
{
double taxrate = 0.15;
double taxamt = 0;
Console.WriteLine(“Using method with 1
argument”);
taxamt = pamt * taxrate;
taxamt = pamt * taxrate;
return taxamt;
} // *** TaxCalc ***
// This method only takes one argument as
well but it differs
// from the above in the argument type.
public static double TaxCalc(string whichtable)
{
double taxrate = 0;
Console.WriteLine(“Calling the method with 1 string argument”);
// from the above in the argument type.
public static double TaxCalc(string whichtable)
{
double taxrate = 0;
Console.WriteLine(“Calling the method with 1 string argument”);
if (whichtable == “TaxTable1″)
taxrate = 0.15;
taxrate = 0.15;
return taxrate;
}
Overriding Merupakan Suatu Keadaan Dimana kelas anak
dapat mengubah atau bisa kita bilang memodifikasi atau memperluas data dan
method pada kelas induk
Keuntungan Overriding : dapat menambahkan sifat / atribut pada kelas induk nya
Keuntungan Overriding : dapat menambahkan sifat / atribut pada kelas induk nya
contoh Overriding pada C#.Net
abstract class ShapesClass
{
abstract public int Area();
}
class Square : ShapesClass
{
int x, y;
// Because ShapesClass.Area is
abstract, failing to override
// the Area method would result
in a compilation error.
public override int Area()
{
return x * y;
}
}
Tidak ada komentar:
Posting Komentar