Minggu, 13 Mei 2012

Bab III Overriding

,
Bab 3
Program
Polimorphisme  Overriding

Overriding adalah kemampuan suatu subkelas untuk memodifikasi attribute dan method milik kelas supernya (tentu yang memiliki sifat private atau final tidak bisa dilakukan overriding).
Override merupakan pendefinisian ulang suatu metode oleh subclass. Syarat Override yaitu nama metode, return type, dan parameter harus sama. Jika tidak sama maka bukan dianggap sebagai override tetapi metode yang baru pada subclass.
Perbedaan utama antara Overloading dengan Overriding adalah pada pemakaian parameter. Pada overloading kita bisa mengubah parameter, sedangkan pada overriding kita tidak boleh mengubah parameter.

Ada beberapa keyword yang bisa dipakai di overriding, antara lain:
Keyword Overridable
Keyword ini digunakan pada methods atau properties di class induk yang menandakan bahwa methods atau properties tadi bisa di-override pada class turunan.
Keyword Overrides
Keyword ini digunakan pada class turunan yang menandakan bahwa methods atau properties tadi meng-override methods atau properties yang ada di class induk.
Keyword NotOverridable
Keyword ini digunakan pada methods atau properties di suatu class yang menandakan bahwa methods atau properties tadi tidak bisa di-override pada class turunan.
Keyword MustOverride
Seperti dijelaskan pada modul 2, keyword ini digunakan untuk mendeklarasikan abstract methods atau abstract properties. Hanya ada deklarasi header di sini, tanpa ada pendefinisian implementasi. Class yang mempunyai abstract methods atau abstract properties harus didefinisikan juga sebagai abstract class dengan keyword MustInherit.
Modifikasi yang dilakukan, misalnya jumlah parameter, tipe parameter, tipe return value, ataupun lingkungan pemrosesan datanya. Di bawah ini adalah contoh program overriding :
Bahasa Program C#

using System;
namespace Bab3._
{
    class ruang
    {
        public void info()
        {
            Console.WriteLine("Ini Ruang kelas Instalasi");
        }
    }
    class Instalasi : ruang
    {
        public void info()
        {
            Console.WriteLine("Ini Ruang kelas Multimedia");
        }
    }
    class Program
    {
        public static void Main(string[] args)
        {
            Instalasi a = new  Instalasi();
            a.info();
            Console.WriteLine();
             
            Console.Write("Press any key to continue . . . ");
            Console.ReadKey(true);
        }
    }
}
 
Bahasa Program java
package overiding;
class ruang
{
    public void info()
    {
    System.out.println("Ini Ruang kelas Instalasi");
    }
}
class Instalasi extends ruang
{
    public void info()
    {
    System.out.println("Ini Ruang kelas Multimedia");
    }
}
public class Main {
    public static void main(String[] args) {
        Instalasi a = new  Instalasi();
    a.info();
    System.out.println();
    }

}
Bahasa Program C++
#include <iostream>
using namespace std;
    class ruang
    {
        public: void info()
        {
            cout <<"Ini Ruang kelas Instalasi"<<endl;
        }
    };
    class Instalasi : ruang
    {
        public: void info()
        {
            cout<<"Ini Ruang kelas Multimedia"<<endl;
        }
    };
int main()
{
    Instalasi a;
    a.info();
    return 0;
}


0 komentar to “Bab III Overriding”

Posting Komentar