Monday, 7 May 2012

Inheritance (penurunan) di Java, C# dan C++ || OOP

Inheritance adalah salah satu fitur OOP yang sangat penting, Inheritance adalah penurunan sifat dari suatu Class ke kelas yang lain. Tidak semua sifat bisa diturunkan ke Class turunan tetapi hanya filed dan method yang punya modifier public dan protected yang bisa di turunkan.


Manfaat Inheritance :

  • Inheritance memungkinkan untuk menciptakan sebuah class dari class yang sudah ada.
  • Ketika sebuah class diturunkan dari class yang sudah ada maka class tersebut mewarisi semua method dan field dari class orangtuanya.
  • Class turunan juga mewarisi bentuk dari class orang tua. Artinya objek dari class anak dapat dikenali sebagai objek dari class orang tua.



Csharp


class Program
 {
  public static void Main(string[] args)
  {
   string nama = "Ahmad Rizal Afani";
   string alamat = "Banyuwangi";
   string telp = "01234567";
   string prodi = "tehnik informatika";
   string NIM = "1110100601";
   
   MHS m = new MHS();
   m.ShowKTP(nama,alamat,telp);
   m.ShowMHS(nama,NIM,prodi,telp);
   
   
   Console.WriteLine();
   Console.Write("Press any key to continue . . . ");
   Console.ReadKey(true);
  }
 }
 class KTP
 {
  
  public KTP()
  {
   Console.WriteLine("   ==================================");
   Console.WriteLine("   =            Inheritance         =");
   Console.WriteLine("   ==================================");
   Console.WriteLine();
   Console.WriteLine();
   Console.WriteLine();
  }
  
  public void ShowKTP(string nama,string alamat,string tlp)
  {
   Console.WriteLine("KTP");
   Console.WriteLine();
   Console.WriteLine("Nama anda : {0}",nama);
   Console.WriteLine("Alamat  : {0}",alamat);
   Console.WriteLine("No Telp  : {0}",tlp);
   Console.WriteLine();
   Console.WriteLine();
  }
 }
 class MHS : KTP
 {
  public MHS()
  {
   
  }
  public void ShowMHS(string nama,string nim,string prodi,string tlp)
  {
   Console.WriteLine("MHS");
   Console.WriteLine();
   Console.WriteLine("Nama anda : {0}",nama);
   Console.WriteLine("NIM  : {0}",nim);
   Console.WriteLine("Prodi  : {0}",prodi);
   Console.WriteLine("No Telp  : {0}",tlp);
   Console.WriteLine();
   Console.WriteLine();
  }
 }  

Java


package Inheritance;

public class MainClass 
{
 public static void main(String[] args)
 {
  String nama = "Ahmad Rizal Afani";
  String alamat = "Banyuwangi";
  String telp = "01234567";
  String prodi = "tehnik informatika";
  String NIM = "1110100601";
  
  MHS m = new MHS();
  
  m.ShowKTP(nama,alamat,telp);
  m.ShowMHS(nama,NIM,prodi,telp);
  
 }
}
class KTP
{
 
 public KTP()
 {
  System.out.println("   ==================================");
  System.out.println("   =            Inheritance         =");
  System.out.println("   ==================================");
  System.out.println();
  System.out.println();
  System.out.println();
 }
 
 public void ShowKTP(String nama,String alamat,String tlp)
 {
  System.out.println("KTP");
  System.out.println();
  System.out.println("Nama anda : "+nama);
  System.out.println("Alamat  : "+alamat);
  System.out.println("No Telp  : "+tlp);
  System.out.println();
  System.out.println();
 }
}
class MHS extends KTP
{
 public MHS()
 {
  
 }
 public void ShowMHS(String nama,String nim,String prodi,String tlp)
 {
  System.out.println("MHS");
  System.out.println();
  System.out.println("Nama anda : "+nama);
  System.out.println("NIM  : "+nim);
  System.out.println("Prodi  : "+prodi);
  System.out.println("No Telp  : "+tlp);
  System.out.println();
  System.out.println();
 }
}  


C++


#include <cstdlib>
#include <iostream>

using namespace std;

class KTP
{
 public : KTP()
 {
  cout<<"   =================================="<<endl;
  cout<<"   =            Inheritance         ="<<endl;
  cout<<"   =================================="<<endl;
  cout<<endl;
  cout<<endl;
  cout<<endl;
 }
 
 public : void ShowKTP(string nama,string alamat,string tlp)
 {
  cout<<"KTP"<<endl;
  cout<<endl;
  cout<<"Nama anda : "<<nama<<endl;
  cout<<"Alamat  : "<<alamat<<endl;
  cout<<"No Telp  : "<<tlp<<endl;
  cout<<endl;
  cout<<endl;
 }
};
class MHS : public KTP
{
 public : MHS()
 {
  
 }
 public : void ShowMHS(string nama,string nim,string prodi,string tlp)
 {
  cout<<"MHS"<<endl;
  cout<<endl;
  cout<<"Nama anda : "<<nama<<endl;
  cout<<"NIM  : "<<nim<<endl;
  cout<<"Prodi  : "<<prodi<<endl;
  cout<<"No Telp  : "<<tlp<<endl;
  cout<<endl;
  cout<<endl;
 }
};

int main(int argc, char *argv[])
{
             string nama = "Ahmad Rizal Afani";
  string alamat = "Banyuwangi";
  string telp = "01234567";
  string prodi = "tehnik informatika";
  string NIM = "1110100601";
  
  MHS m;
  
  m.ShowKTP(nama,alamat,telp);
  m.ShowMHS(nama,NIM,prodi,telp);
    
    cout<<endl;
    cout<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}  

Program diatas mencontohkan Class KTP menjadi Class induk yang mewariskan Method dan Filednya pada Class MHS, jadi Class MHS tu Class turunan dari Class KTP, Jadi kalo Class MHS butuh method yang isi programnya sama atau field gak perlu nulis lagi :D

No comments:

Post a Comment