skip to main | skip to sidebar

Experience Post

  • Entries (RSS)
  • Comments (RSS)
  • Home
  • About Us
  • Archives
  • Contact Us

Sabtu, 12 Mei 2012

OOP2 : Polymorphism - overridding (Bab 3.2)

Diposting oleh Experience Post di 09.08 Label: OOP 2
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
lebih Jelasnya Overloading secara singkat :
  • Mendefinisikan method dengan nama sama pada class yang berbeda.
  • Konsep dapat di manfaatkan dalam beberapa kasus inheritance, di mana menginginkan penamaan method dengan nama sama namunberbeda dalam impelementasinya.
Syarat overriding :
  • Method dengan modifier final tidak dapat dioverrid
  • Method dengan modifier static tidak dapat dioverrid 
Syarat nama method dan argument list :
  • Nama dari method yang mengoverride harus sama dengan nama dari method yang dioverride
  • Argument list dari method yang mengoverride harus sama persis dengan argument list dari method yang dioverride.
  • Bila ternyata argument list tidak sama, akan tetapi nama method sama, maka yang terjadi bukan override melainkan overload !!! [1]
Syarat return type :

1. Return type method yang mengoverride sama dengan return type method yang dioverride.
2. Return type method yang mengoverride adalah subclass dari return type method yang dioverride.

Contoh programnya pada C# :
/*
 * Created by SharpDevelop.
 * User: ceplez
 * Date: 5/12/2012
 * Time: 3:08 AM
 *
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;

namespace praktikumoop5
{
    class keliling
    {
        public int panjang,lebar,kel,ombo;
        public void input()
        {
            Console.Write("Masukan panjang = ");
            panjang=Convert.ToInt16(Console.ReadLine());
            Console.Write("Masukan lebar = ");
            lebar=Convert.ToInt16(Console.ReadLine());
        }
        public void show()
        {
            kel=2*(panjang+lebar);
            Console.WriteLine("Keliling persegi panjang adalah = {0}",kel);
            Console.WriteLine();
        }
    }
    class luas : keliling
    {
        public void show()
        {
        ombo=panjang+lebar;
        Console.WriteLine("Keliling persegi panjang adalah = {0}",ombo);
        Console.WriteLine();
        }
       
    }
    class Program
    {
        public static void Main(string[] args)
        {
            Console.WriteLine("SELAMAT DATANG PROGRAM PRNGHITUNG PERSEGI PANJANG");
            Console.WriteLine("------------------------------");
           
            keliling hitung=new keliling();
            hitung.input();
            hitung.show();
            hitung=new luas();
            hitung.input();
            hitung.show();
           
            Console.Write("Press any key to continue . . . ");
            Console.ReadKey(true);
        }
    }
}
hasilnya adalah seperti di bawah :
pada java :
package praktikumoop3;
import java.util.Scanner;
class balok
{
    public void volume()
    {
        System.out.println("OOP II POLIMORPHISM : OVERLOADING");
        System.out.println("MENGHITUNG VOLUME BALOK");
        System.out.println();
    }
    public int volume(int panjang, int lebar, int tinggi)
    {
        return panjang*lebar*tinggi;
    }
    public void volume(int vol)
    {
        System.out.println("Volume balok adalah = "+vol);
    }
}
public class Main {

    public static void main(String[] args) {
       Scanner masuk = new Scanner(System.in);
       int panjang;
       int lebar;
       int tinggi;
       int vol;

       System.out.print("Masukan panjang = ");
       panjang=masuk.nextInt();
       System.out.print("Masukan lebar = ");
       lebar=masuk.nextInt();
       System.out.print("Masukan tinggi = ");
       tinggi=masuk.nextInt();
       System.out.println();

       balok hitung=new balok();
       hitung.volume();
       vol=hitung.volume(panjang, lebar, tinggi);
       hitung.volume(vol);
    }

}
hasilnya adalah seperti di bawah 

dan pada c++ adalah seperti berikut :
#include <iostream>
#include <conio.h>

using namespace std;
class keliling
{
    public:int panjang;
    int lebar;
    int kel;
    int ombo;
    void inputan()
    {
        cout<<"Masukan panjang = ";
        cin>>panjang;
        cout<<endl;
        cout<<"Masukan lebar = ";
        cin>>lebar;
        cout<<endl;
    }
    void show()
    {
        kel=2*(panjang+lebar);
        cout<<"Keliling persegi panjang adalah = "<<kel;
        cout<<endl;
    }
};
class luas : public keliling
{
    public:void show()
    {
        ombo=panjang*lebar;
        cout<<"Luas persegi panjang adalah = "<<ombo;
        cout<<endl;
    }
};

int main()
{
    cout << "SELAMAT DATANG DI PROGRAM PENGHITUNG PERSEGI PANJANG" << endl;
    cout << "-----------------------------------------------------" << endl;
    keliling hitung;
    hitung.inputan();
    hitung.show();
    luas ngitung;
    ngitung.inputan();
    ngitung.show();
    return 0;
}
hasilnya adalah seperti di bawah :

Terima kasih, dan sampai ketemu di pembahasan pada bab selanjutnya
Kirimkan Ini lewat Email BlogThis! Bagikan ke X Berbagi ke Facebook

0 komentar:

Posting Komentar

thank for your comment..

Posting Lebih Baru Posting Lama Beranda
Langganan: Posting Komentar (Atom)

Sponsored

  • banners
  • banners
  • banners
  • banners

Lencana Facebook

Akhlis Wiranata

Buat Lencana Anda

Daftar Blog Saya

  • Ng`Blog Biar Gak GobloG - BlogNya Gede Lumbung
    Tips & Trick : SSH Tunnel for MySQL Remote Access
    7 tahun yang lalu
  • just another silly blog
    Design Pattern : Singleton Pattern
    12 tahun yang lalu
  • Syntax Never Dies ! ! !
    Aplikasi Koran Online menggunakan Framework Becak HMVC
    12 tahun yang lalu
  • blogkomputer.com/
  • KangSaGa.com
  • Heiji Hattori

Total Tayangan Halaman

ShoutMix

Labels

01102011 (1) 02112011 (2) android (1) OOP 2 (10)

Blog Archive

  • ▼  2012 (10)
    • ►  Juli (5)
    • ▼  Mei (5)
      • OOP2: Inheritance (Bab 4)
      • OOP2 : Polymorphism - overridding (Bab 3.2)
      • OOP2 : Polymorphism - overloading (Bab 3.1)
      • OOP 2 : Encapsulation (Bab II)
      • OOP 2. Class Method Identifier (Bab 1)
  • ►  2011 (9)
    • ►  Desember (3)
    • ►  November (5)
    • ►  Oktober (1)

Contact Me

Followers

 

© 2010 My Web Blog
designed by DT Website Templates | Bloggerized by Agus Ramadhani | Zoomtemplate.com