Pages

Minggu, 09 Agustus 2015

Contoh Inheritance

Contoh Inheritance

Inheritance merupakan tambahan atau turunan dari suatu kelas.
Fungsi dari inheritance :
  • Memudahkan pengembangan aplikasi.
Dalam inheritance dapat ditambahkan polymorpis, jadi kelas induk mempunyai fungsi yang sama dengan kelas anak, meskipun dikelas induk tidak ditulis namun akan muncul dengan sendirinya.
Turunan tidak memiliki batasan, semuanya tetap dipanggil dikelas utama.
Overaide berfungsi untuk menimpa method dikelas lain.

Contoh Progam Inheritance Java :

Main.java :
package contoh_inheritance;
public class Main {
    public static void main(String[] args) {
        matematika3 mtk = new matematika3();
        matematika2 mtk2 = new matematika2();
        mtk.kali(20, 20); //dari class matematika
        mtk.tambah(10, 20); //dari class matematika3
        mtk2.tambah(10, 20);//dari class matematika2
        mtk.kali(20.5, 20); //dari class matematika2
        mtk.kurang(20, 10);//dari class matematika3/dirinya sendiri
    }

}

Matematika2.java :
package contoh_inheritance;
import class_matematika.*;
public class matematika2 extends matematika {
    public void tambah(int a, int b){
        System.out.println("Hasil tambah "+(a+b));
    }
    public void kali(double a, int b){
        System.out.println("Hasil kali "+(a*b));
    }
}

Matematika3.java :
package contoh_inheritance;
public class matematika3 extends matematika2{
    public void kurang(int a, int b){
        System.out.println("Hasil pengurangan "+(a-b));
    }
    @Override
    public void kali(int a, int b){
        System.out.println("Perkalian "+(a*b));
    }
    @Override
    public void tambah(int a, int b){
        System.out.println("Penambahan "+(a+b));
    }
}





Contoh Program Inheritance C++ :
Main.cpp :
#include 
using namespace std;
class matematika1
{
public:
    void kali(int a, int b)
    {
        cout<<" hasil kali =" <<(a*b) << endl;
    }
};

class matematika2 : matematika1
{
public:
    void tambah(int a, int b)
    {
        cout << "hasil tambah ="<< (a+b) << endl;

    }
    void kali (double a,int b)
    {
        cout << "hasil kali =" << (a*b) << endl;
    }

};

class matematika3 : matematika2
{
public:
    void kurang(int a,int b)
    {

        cout<<"hasil pengurangan ="<< (a-b) << endl;
    }
    virtual void kali(int a,int b)
    {
       cout << "hasil perkalian ="<<(a*b) << endl;
    }
     virtual void tambah(int a,int b)
    {
       cout << "hasil penambahan ="<<(a+b) << endl;
    }
};

int main()
{
   matematika3 x;
   x.kali(25,25);
   x.tambah(50,7);
   x.kali(10.0,20);
   x.kurang(100,75);
   x.kali(10,10);
   x.tambah(10,5);
    return 0;
}



Contoh Program Csharp :
Program.cs :
using System;

namespace inheritance
{
 class Program
 {
  public static void Main(string[] args)
  {
   
   matematika3 mtk = new matematika3 ();
   mtk.kali(30,10);
   mtk.tambah(25,25);
   mtk.kali(20.0,30);
   mtk.kurang(100,25);
   mtk.kali(50,50);
   mtk.tambah(100,25);
    
   Console.ReadKey(true);
  }
 }
}

class_matematika.cs :
namespace inheritance
{
 
 public class matematika 
 {
  void kali(int a, int b)
  {
   Console.WriteLine("hasil kali = " +(a*b));
  
  }
 }
}

Class_matematika2.cs :
namespace inheritance
{
 public class matematika2 : matematika
 {
  void tambah(int a, int b)
  {
   Console.WriteLine(" hasil tambah = " +(a+b));
  }
  
  public void kali(double a, int b)
  {
   Console.WriteLine("hasil kali = "+(a*b));
  }
 }
}


Class_matematika3.cs :
namespace inheritance
{
 public class matematika3 : matematika2
 {
  public void kurang(int a ,int b)
  {
   Console.WriteLine("hasil kurang " +(a-b));
  }
  public virtual void kali (int a,int b)
  {
   Console.WriteLine(" perkalian " +(a*b));
  }
  
  public virtual void tambah(int a,int b)
  {
   Console.WriteLine(" penambahan "+(a+b));
 
 
  }
 }
}

Abstract Class

Abstract Class

Abstract class adalah class yang tidak bisa dibuat secara instan sebagaimana class pada umumnya. Abstract class harus di implementasikan pada class turunan dari class Abstract tersebut. Abstract class berisi berisi sebuah method abstract dan method default yang bisa di override pada class turunan.

Contoh Abstract Class :

abstract_class_java.java

package abstract_class_java;
public class Abstract_class_java {
    public static void main(String[] args) {
        SegiEmpat se = new SegiEmpat(20, 10);
        se.Luas();
        se.Keliling();
        BujurSangkar bj = new BujurSangkar(8);
        bj.Luas();
        bj.Keliling();
        SegiTiga st = new SegiTiga(3,10,0.5,5);
        st.Luas();
        st.Keliling();
    }
}



BujurSangkar.java

package abstract_class_java;
public class BujurSangkar extends bangun_ruang {
    private int s;
    public BujurSangkar(int sisi){
        s = sisi;
    }
    @Override
    public void Luas() {
        System.out.println("Luas Bujur Sangkar : "+(s * s));
    }
    @Override
    public void Keliling() {
        System.out.println("Keliling Bujur Sangkar : "+(4 * s));
    }
    
}


SegiEmpat.java
package abstract_class_java;
public class SegiEmpat extends bangun_ruang{
    private int p;
    private int l;
    public SegiEmpat(int panjang, int lebar){
        p = panjang;
        l = lebar;
    }
    @Override
    public void Luas() {
        System.out.println("Luas Segi Empat : "+(p * l));
    }

    @Override
    public void Keliling() {
        System.out.println("Keliling Segi Empat : "+ (2 * (p + l)) );  
    }
    
}


bangunruang.java
package abstract_class_java;
abstract class bangun_ruang {
    abstract public void Luas();
    abstract public void Keliling();
}


SegiTiga.java
package abstract_class_java;
public class SegiTiga extends bangun_ruang {
    private int a;
    private int t;
    private double s;
    private int sm;
    public SegiTiga(int alas, int tinggi, double set, int sisimiring){
        a = alas;
        t = tinggi;
        s = set;
        sm = sisimiring;
    }
    @Override
    public void Luas() {
        System.out.println("Luas Segi Tiga : "+((a * t)* s));
    }

    @Override
    public void Keliling() {
        System.out.println("Keliling Segi Tmpat : "+(a + t + sm));
    }
    
} 
 
 
 
Contoh C++.

main.cpp
#include 
#include 
using namespace std;
class abstrak
{
public :
    void Luas();
    void Keliling();
};
class bujursangkar
{
public :
    int x;
    virtual void Luas()
    {
        cout <<"    Luas bujursangkar        = " << (x*x) << endl;
    }
    virtual void Keliling()
    {
        cout <<"    Keliling bujursangkar    = " << (x+x) << endl;
    }
};
class segiempat
{
public:
    int p;
    int l;
    virtual void Luas()
    {
        cout <<"    Luas segiempat           = " << (p*l) << endl;
    }
    virtual void Keliling()
    {
        cout <<"    Keliling segiempat       = "<<(2*(p+l)) << endl;
    }
};
class segitiga
{
public :
    int s;
    int a;
    int t;
    virtual void Luas()
    {
        cout <<"    Luas segitiga            = "<<((a*t)/2) << endl;
    }
    virtual void Keliling()
    {
        cout <<"    Keliling segitiga        = "<<(s*s*s) << endl;
    }
};
int main()
{
    cout <<"                           ABSTRACT CLASS" << endl;
    cout <<"             MENGHITUNG LUAS & KELILING BANGUN RUANG " << endl;
    cout <<""<< endl;

    cout <<" 1. Bujursangkar " << endl;
    bujursangkar b;
    cout << "    Masukkan nilai sisi      = ";
    cin >> b.x;
    b.Luas();
    b.Keliling();

    cout <<"" << endl;
    cout <<" 2. Segiempat" << endl;
    segiempat se;
    cout << "    Masukkan nilai panjang   = ";
    cin >> se.p;
    cout << "    Masukkan nilai lebar     = ";
    cin >> se.l;
    se.Luas();
    se.Keliling();

    cout <<"" << endl;
    cout <<" 3. Segitiga" << endl;
    segitiga st;
    cout <<"    Masukkan nilai alas      = ";
    cin >> st.a;
    cout <<"    Masukkan nilai tinggi    = ";
    cin >> st.t;
    cout <<"    Masukkan nilai sisi      = ";
    cin >> st.s;
    st.Luas();
    st.Keliling();
    return 0;
}


Contoh Csharp

program.cs
using System;

namespace Abstrakclass
{
 class Program
 {
  public static void Main(string[] args)
  {
   Console.WriteLine("       LUAS DAN KELILING ");
   Console.WriteLine("         BANGUN RUANG ");
   Console.WriteLine();
   
   Console.WriteLine(" 1. Bujur Sangkar ");
   bujursangkar bj = new bujursangkar();
   Console.Write("    Masukkan nilai sisi  = ");
   bj.x = Convert.ToInt32(Console.ReadLine());
   bj.Luas();
   bj.Keliling();
   
   Console.WriteLine();
   Console.WriteLine(" 2. Segi Empat");
   segiempat sg = new segiempat();
   Console.Write("    Masukkan nilai panjang = ");
   sg.p = Convert.ToInt32(Console.ReadLine());
   Console.Write("    Masukkan nilai lebar = ");
   sg.l = Convert.ToInt32(Console.ReadLine());
   sg.Luas();
   sg.Keliling();
   
   Console.WriteLine();
   Console.WriteLine(" 3. Segitiga");
   segitiga st = new segitiga();
   Console.Write("    Masukkan nilai alas  = ");
   st.a = Convert.ToInt32(Console.ReadLine());
   Console.Write("    Masukkan nilai tinggi = ");
   st.t = Convert.ToInt32(Console.ReadLine());
   Console.Write("    Masukkan nilai sisi  = ");
   st.s = Convert.ToInt32(Console.ReadLine());
   st.Luas();
   st.Keliling();
   
   Console.ReadKey(true);
  }
 }
}

bangunruang.cs
using System;

namespace Abstrakclass
{
 abstract  class bangunruang
 {
  public abstract void Luas();
  public abstract void Keliling();
  
 }
}


bujursangkar.cs
using System;

namespace Abstrakclass
{
 class bujursangkar : bangunruang 
 {
  public int x;
  
  public override void Luas()
  {
   Console.WriteLine("    Luas Bujursangkar  = "+(x*x));
  }
  
  public override void Keliling()
  {
   Console.WriteLine("    Keliling Bujursangkar = "+(x+x));
  }
 }
}


segiempat.cs
using System;

namespace Abstrakclass
{
 class segiempat : bangunruang
 {
  public int p;
  public int l;
  
  public override void Luas()
  {
   Console.WriteLine("    Luas segiempat  = "+(p*l));
  }
  
  public override void Keliling()
  {
   Console.WriteLine("    Keliling segiempat  = "+(2*(p+l)));
  }
 }
}


segitiga.cs
using System;

namespace Abstrakclass
{
 class segitiga : bangunruang
 {
  public int s=0;
  public int a;
  public int t;
  
  public override  void Luas()
  {
   Console.WriteLine("    Luas segitiga  = "+((a*t)/2));
  }
  
  public override void Keliling()
  {
   Console.WriteLine("    Keliling Segitiga  = "+(s*s*s));
  }
 }
}

Encapsulation

Encapsulation

Encapsulation adalah penyembunyian data dengan membungkus seluruh isi dari class tersebut. Encapsulation bisa dilambangkan dengan penggunaan set dan get. Dinamakan get karena metode ini hanya mengambil tanpa mengubah state dari isi class tersebut dan dinamakan set karena metode ini juga mengubah state dari isi class tersebut. Method-method ini dideklarasikan sebagai public, sedangkan variablenya dideklarasikan sebagai private.

Contoh Java

Encapsulation.java

package encapsulation;
import java.util.Scanner;
public class Encapsulation {
    public static void main(String[] args) {
        Scanner Scanner;
        Scanner scn = new Scanner (System.in);
        
        a n = new a();
        System.out.print("masukkan nilai a =");
        int a=scn.nextInt();
        n.setnilaiA(a);
        
        System.out.print("masukkan nilai b= ");
        int b=scn.nextInt();
        n.setnilaiB(b);
        
        System.out.println("hasil penjumlahan +"+n.hasil_tambah());
        System.out.println("hasil pengurangan +"+n.hasil_kurang());
        
    }
} 
 



a.java
package encapsulation;
public class a {
    private int a;
    private int b;
    
    public void setnilaiA(int angka1)
    {
        a=angka1;
    }
    public int getnilaiA()
    {
        return a;
    }
    
    public void setnilaiB(int angka2)
    {
        b=angka2;
    }
    public int getnilaiB()
    {
        return b;
    }
    public int hasil_tambah()
    {
        return getnilaiA()+getnilaiB();
    }
    public int hasil_kurang()
    {
        return getnilaiA()-getnilaiB();
    }
    
}


Contoh C#

encapsulation.cpp 
#include 

using namespace std;
class hitung{
private : int a;
private : int b;

public :

     void setnilaiA(int angka1){
         a=angka1;
     }
     int getnilaiA(){
         return a;
     }

     void setNilaiB(int angka2){
         b=angka2;
     }
     int getNilaiB(){
         return b;
     }

     int hasil_tambah()
     {
         return getnilaiA()+getNilaiB();
     }

     int hasil_kurang()
     {
         return getnilaiA()-getNilaiB();
     }

};
int main()
{
    hitung x;
    int a,b;
    cout << " Masukkan nilai a = ";
    cin >> a;
    x.setnilaiA(a);

    cout << " Masukkan nilai b = ";
    cin >> b;
    x.setNilaiB(b);

    cout << " Hasil tambah = " << x.hasil_tambah() << endl;
    cout << " Hasil pengurangan " << x.hasil_kurang() << endl;

    return 0;
}


Contoh C#

proses.cs
using System;

namespace encapsulation
{
 class proses
 {
  private int a=0;
  private int b=0;
  
  public int niliaA{
   set{
    a=value;
   }
   get{
    return a;
   }
  }
  
  public int nilaiB{
   set{
    b=value;
   }
   get{
    return b;
   }
  }
  
  public int hasiltambah(){
   return a+b;
  }
  
  public int hasilkurang(){
   return a-b;
  }
   
 }//end class
}//end namespace


Progam.cs
using System;

namespace encapsulation
{
 class Program
 {
  public static void Main(string[] args)
  {
   proses a = new proses();
   Console.Write(" Masukkan nilai a = ");
   a.niliaA = Convert.ToInt32(Console.ReadLine());
   
   Console.Write(" Masukkan nilai b = ");
   a.nilaiB = Convert.ToInt32(Console.ReadLine());
   
   Console.WriteLine();
   Console.WriteLine(" Hasil Penjumlahan = "+a.hasiltambah());
   Console.WriteLine(" Hasil Pengurangan = "+a.hasilkurang());
   Console.ReadKey(true);
  }
 }
}

Interface Class

Interface Class

Interface adalah sebuah fitur OOP yang menampung method-method kosong. Interface harus diturunkan pada sebuah Class jika ingin di implementasikan. Tidak jauh berbeda dengan Abstract Class kegunaan dari interface, hanya saja interface tidak bisa menampung method default dan tidak mempunyai modifier.

Contoh Java

Interface.java

package pkginterface;
public class Interface {

    
    public static void main(String[] args) {
        segiempat se = new segiempat(20,10);
        se.luas();
        se.keliling();
        
        balok b= new balok (10,5,7);
        b.luas();
        b.keliling();
        b.volume();
    }
}


Balok.java

package pkginterface;

public class balok implements bangun_ruang,bangun_3d {
    private int p;
    private int l;
    private int t;
    
    public balok(int panjang,int lebar,int tinggi){
        p=panjang;
        l=lebar;
        t=tinggi;
    }

    @Override
    public void keliling() {
        System.out.println("keliling balok :"+(4*(p+l+t)));
    }

    @Override
    public void luas() {
        System.out.println("luas balok :"+(2*((p*l)+(p*t)+(p*t))));
    }

    @Override
    public void volume() {
        System.out.println("volume balok :"+(p*l*t));
    }
    
    
}


bangun_3d.java

package pkginterface;

public interface bangun_3d {
    public void volume();
}


bangun_ruang.java
package pkginterface;
public interface bangun_ruang {
    public void keliling();
    public void luas();
}


segiempat.java
package pkginterface;

public class segiempat implements bangun_ruang {
private int p;
private int l;
public segiempat(int panjang,int lebar){
    p =panjang;
    l= lebar;
}
    @Override
    public void keliling() {
        System.out.println("kaliling segi empat :"+(2 *(p+l)));
    }

    @Override
    public void luas() {
        System.out.println("luas segi empat:"+(p*l));
    }
    
    
}


Contoh C++

main.cpp
#include 
#include 
using namespace std;
class interface_bangunruang
{
    void luas();
    void keliling();
};

class interface_bangun3d
{
    void volume();
};

class kubus
{
public:
    int rusuk;
    virtual void keliling()
    {
        cout << "keliling kubus =" << 12*rusuk << endl;
    }
    virtual void luas()
    {
        cout << "luas kubus =" << 6 *(rusuk*rusuk) << endl;
    }
    virtual void volume()
    {
        cout << "volume kubus =" << rusuk*rusuk*rusuk << endl;
    }
};

class balok
{
    public:
    int panjang;
    int lebar;
    int tinggi;
    virtual void keliling()
    {

        cout << "keliling balok =" << 4*(panjang+lebar+tinggi) << endl;
    }
    virtual void luas()
    {
        cout << "luas balok =" << 2*((panjang*lebar)+(panjang*tinggi)+(lebar*tinggi)) << endl;
    }
    virtual void volume()
    {
        cout << "volume balok=" << (panjang*lebar*tinggi) << endl;
    }
};

class persegi
{
public :
    int sisi;
    virtual void keliling()
    {
        cout << " keliling persegi =" << 4*sisi << endl;
    }
    virtual void luas()
    {
        cout << "luas persegi =" << sisi*sisi << endl;
    }

};

class persegi_panjang
{
public:
    int p;
    int l;
    virtual void keliling()
    {
        cout << "keliling persegi panjang = " << 2 *(p+l) << endl;
    }
    virtual void luas()
    {
        cout << "luas persegi panjang =" << p*l << endl;
    }
};

int main()
{
    cout << " INTERFACE " << endl;
    cout << "" << endl;
    cout << "" << endl;

    kubus k;
    cout << "KUBUS" << endl;
    cout << " masukkan nilai rusuk =";
    cin >> k.rusuk;
    k.keliling();
    k.luas();
    k.volume();

    balok b;
    cout<<"" << endl;
    cout<<" BALOK " << endl;
    cout<<"masukkan nilai panjang = ";
    cin>>b.panjang;
    cout<<"masukkan nilai lebar = ";
    cin>>b.lebar;
    cout<<"masukkan nilai tinggi = ";
    cin>>b.tinggi;
    b.keliling();
    b.luas();
    b.volume();


    persegi ps;
    cout << "" << endl;
    cout << "PERSEGI" << endl;
    cout << "masukkan nilai sisi =";
    cin  >> ps.sisi;
    ps.keliling();
    ps.luas();

    persegi_panjang pp ;
    cout << ""<< endl;
    cout << " PERSEGI PANJANG " << endl;
    cout << " masukkan nilai panjang =";
    cin >> pp.p;
    cout << "masukkan nilai lebar =";
    cin >> pp.l;
    pp.keliling();
    pp.luas();



    return 0;
}



Contoh Csharp

Program.cs
using System;

namespace classinterface
{
 class Program
 {
  public static void Main(string[] args)
  {
   Console.WriteLine(" interface");
   Console.WriteLine();
   Console.WriteLine();
   
   kubus k=new kubus();
   Console.WriteLine("KUBUS");
   Console.Write("masukkan nilai rusuk =");
   k.rusuk =Convert.ToInt32(Console.ReadLine());
   k.keliling();
   k.luas();
   k.volume();
   
   balok b = new balok();
   Console.WriteLine();
   Console.WriteLine(" BALOK ");
   Console.Write(" masukkan nilai panjang = ");
   b.panjang=Convert.ToInt32(Console.ReadLine());
   Console.Write("masukkan nilai lebar =");
   b.lebar=Convert.ToInt32(Console.ReadLine());
   Console.Write(" masukkan nilai =");
   b.tinggi=Convert.ToInt32(Console.ReadLine());
   b.keliling();
   b.luas();
   b.volume();
   
   persegi pe = new persegi();
   Console.WriteLine();
   Console.WriteLine("PERSEGI");
   Console.Write("masukkan nilai sisi =");
   pe.sisi = Convert.ToInt32(Console.ReadLine());
   pe.keliling();
   pe.luas();
   
   persegipanjang pp = new persegipanjang();
   Console.WriteLine();
   Console.WriteLine(" PERSEGI PANJANG ");
   Console.Write("masukkan nilai panjang =");
   pp.p = Convert.ToInt32(Console.ReadLine());
   Console.Write("masukkan nilai lebar=");
   pp.l = Convert.ToInt32(Console.ReadLine());
   pp.keliling();
   pp.luas();
   
    
   
   
   
   Console.ReadKey(true);
  }
 }
}

persegipanjangbangunruang.cs
using System;

namespace classinterface
{
 class persegipanjang : bangunruang
 {
  public int p;
  public int l;
  
  public virtual void keliling()
  {
   Console.WriteLine(" Keliling persegi panjang = "+( 2*(p+l)));
  }
  
  public virtual void luas()
  {
   Console.WriteLine(" luas persegi panjang = "+((p*l)));
  }
   }
    }


persegibangunruang.cs
using System;

namespace classinterface
{
 class persegi : bangunruang
 {
  public int sisi;
  
  public virtual void keliling()
  {
   Console.WriteLine(" Keliling persegi = "+(4*sisi));
  }
  
  public virtual void luas()
  {
   Console.WriteLine(" Luas persegi = "+(sisi*sisi));
  }
 }
  
 
}

Inner Class

Inner Class

Inner class adalah sebuah class yang di buat didalam sebuah class dan mempunyai karakteristik seperti class – class pada umumnya. Salah satunya bisa menjadi class turunan. Untuk pemanggilan inner class harus terlebih dahulu memanggil class luarnya. Manfaat penggunaan fitur inner class ini adalah untuk melakukan pengelompokan kode program


Contoh Java

 inner_class.java
package inner_class;
public class Inner_class {
    public static void main(String[] args) {
        System.out.println(" INNER CLASS");
        System.out.println();
        
        induk x = new induk();
        System.out.println(" hasil penambahan ="+x.penambahan(20,5));
        System.out.println(" hasil perkalian ="+x.kali(20, 5));
        
        induk.anak y = x.new anak();
        System.out.println("hasil perkalian =" +y.perkalian(10, 5));
        
        induk.anak.cucu z = y.new cucu();
        System.out.println("hasil pengurangan =" +z.pengurangan(25,5));
    }
}


induk.java
package inner_class;
public class induk {
    
    public int penambahan (int a,int b){
        return a+b;
    }
    public int kali (int a,int b){
        anak x = new induk.anak();
        return x.perkalian(a,b);
    }
    public class anak {
        public int perkalian (int a,int b){
            return a*b;
        }
        
        public class cucu{
            public int pengurangan (int a,int b){
                return a-b;
            }
        }
    }
    
}


Contoh C-Sharp

program.cs
using System;

namespace contoh_inner_class_csharp
{
 class Program
 {
  public static void Main(string[] args)
  {
   Console.WriteLine(" INNER CLASS");
   Console.WriteLine();
   
   Induk x = new Induk();
  
   Console.WriteLine(" - Penambahan = "+ x.penambahan(5,5));
   Console.WriteLine(" - Perkalian = "+ x.kali(10,5));
   
   Induk.anak y = new Induk.anak();
   Console.WriteLine(" - Perkalian = "+ y.perkalian(5,5));
   
   Induk.anak.cucu z = new Induk.anak.cucu();
   Console.WriteLine(" - Pengurangan = "+ z.pengurangan(10,5));
   
   Console.ReadKey(true);
  }
 }
}

induk.cs
using System;

namespace contoh_inner_class_csharp
{
 public class Induk
 {
  public int penambahan (int a, int b) {
   return a+b;
  }
  
  public int kali (int a, int b){
   anak x = new Induk.anak();
   return x.perkalian(a,b);
  }
  
  public class anak  {
   public int perkalian (int a, int b){
    return a*b;
   }
   
   public class cucu {
    public int pengurangan (int a, int b){
     return a-b;
    }
   }// end class cucu
  }// end class anak
 }// end class induk
}


semoga bermanfaat. . . .



Minggu, 17 Mei 2015

INHERITANCE

INHERITANCE

Inheritance merupakan tambahan atau turunan dari suatu kelas.

Fungsi dari inheritance :

Memudahkan pengembangan aplikasi.
Dalam inheritance dapat ditambahkan polymorpis, jadi kelas induk mempunyai fungsi yang sama dengan kelas anak, meskipun dikelas induk tidak ditulis namun akan muncul dengan sendirinya.

Turunan tidak memiliki batasan, semuanya tetap dipanggil dikelas utama.

Overaide berfungsi untuk menimpa method dikelas lain.

Contoh program :

1. C#

MAIN PROGRAM

/*
 * Created by SharpDevelop.
 * User: FIRMAN
 * Date: 5/18/2015
 * Time: 11:12 AM
 *
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;

namespace inheritance
{
class Program
{
public static void Main(string[] args)
{

matematika3 mtk = new matematika3 ();
mtk.kali(30,10);
mtk.tambah(25,25);
mtk.kali(20.0,30);
mtk.kurang(100,25);
mtk.kali(50,50);
mtk.tambah(100,25);

Console.ReadKey(true);
}
}

}

CLASS 1

/*
 * Created by SharpDevelop.
 * User: FIRMAN
 * Date: 5/18/2015
 * Time: 11:12 AM
 *
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;

namespace inheritance
{

public class matematika
{
void kali(int a, int b)
{
Console.WriteLine("hasil kali = " +(a*b));

}
}

}

CLASS 2
/*
 * Created by SharpDevelop.
 * User: FIRMAN
 * Date: 5/18/2015
 * Time: 11:20 AM
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;

namespace inheritance
{
public class matematika2 : matematika
{
void tambah(int a, int b)
{
Console.WriteLine(" hasil tambah = " +(a+b));
}
public void kali(double a, int b)
{
Console.WriteLine("hasil kali = "+(a*b));
}
}
}

CLASS 3

/*
 * Created by SharpDevelop.
 * User: FIRMAN
 * Date: 5/18/2015
 * Time: 11:20 AM
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;

namespace inheritance
{
public class matematika3 : matematika2
{
public void kurang(int a ,int b)
{
Console.WriteLine("hasil kurang " +(a-b));
}
public virtual void kali (int a,int b)
{
Console.WriteLine(" perkalian " +(a*b));
}
public virtual void tambah(int a,int b)
{
Console.WriteLine(" penambahan "+(a+b));
}
}
}

2. C++

#include <iostream>
using namespace std;
class matematika1
{
public:
    void kali(int a, int b)
    {
        cout<<" hasil kali =" <<(a*b)<<endl;
    }
};

class matematika2 : matematika1
{
public:
    void tambah(int a, int b)
    {
        cout << "hasil tambah ="<< (a+b)<<endl;

    }
    void kali (double a,int b)
    {
        cout << "hasil kali =" << (a*b)<<endl;
    }

};

class matematika3 : matematika2
{
public:
    void kurang(int a,int b)
    {

        cout<<"hasil pengurangan ="<< (a-b)<<endl;
    }
    virtual void kali(int a,int b)
    {
       cout << "hasil perkalian ="<<(a*b)<<endl;
    }
     virtual void tambah(int a,int b)
    {
       cout << "hasil penambahan ="<<(a+b)<<endl;
    }
};

int main()
{
   matematika3 x;
   x.kali(25,25);
   x.tambah(50,7);
   x.kali(10.0,20);
   x.kurang(100,75);
   x.kali(10,10);
   x.tambah(10,5);
    return 0;
}

KONSTRUKTOR

CONSTRUKTOR

Sebuah class terdiri dari attribute dan method.

New = memanggil method

Construktor –    Sifatnya public

Harus sama dengan nama class
Dapat diisi sama dengan method
Construktor dapat lebih dari 1 dalam class, yang membedakan adalah parameternya
Harus memakai public karena construktor dapat diambil dari luar class.
Tidak dapat direturn.
Construktor merupakan suatu method yang memberikan nilai awal pada saat object dibuat.

Method   – Bisa memakai private.

Dapat direturn.


Didalam construktor terdapat polymorpism.

Polymorphism – Banyak bentuk

Namanya (method) boleh sama tetapi parameternya harus berbeda.
Kenapa harus ada Polymorpism ?

Memudahkan orang lain untuk mengingat.
Karena beberapa method yang fungsinya sama dan cara kerjanya berbeda lebih baik namanya disamakan.
Contoh Program Construktor

1. C#

MAIN PROGRAM

/*
 * Created by SharpDevelop.
 * User: firman
 * Date: 5/18/2015
 * Time: 11:40 AM
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;

namespace KONSTRUKTOR
{
    class Program
    {
        public static void Main(string[] args)
        {
            matematika MTK = new matematika();
            MTK.kali(20.0,10.20);
            MTK.kali(10,20);
           
           
           
           
           
           
           
            Console.ReadKey(true);
        }
    }
}

CLASS

/*
 * Created by SharpDevelop.
 * User: FIRMAN
 * Date: 5/17/2015
 * Time: 8:29 PM
 *
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;

namespace construct
{

public class matematika
{
public matematika()
{
Console.WriteLine(" Hasil kali konstruktor =" +(10*5));
}

public matematika(int a,int b)
{
Console.WriteLine(" Hasil kali konstruktor =" +(a*b));
}

public void kali(int a,int b)
{
Console.WriteLine("Hasil kali ="+(a*b));
}

public void kali(double a,double b)
{
Console.WriteLine("hasil kali = "+(a*b));
}
}

}


2. C++

#include <iostream>
using namespace std;
class matematika
{
public :
    matematika()
    {
        cout << "hasil kali construktor = "<< (10*5)<<endl;
    }
    matematika(int a,int b)
    {
        cout << "hasil kali konstruktor ="<<(a*b)<< endl;
    }
    void kali (int a,int b )
    {
        cout << "hasil kali ="<<(a*b)<<endl;
    }
    void kali (double a,double b )
    {
        cout << "hasil kali ="<<(a*b)<<endl;
    }
};

int main()
{
    matematika ar;
    ar.kali(20.0,10.20);
    ar.kali(10,20);
    return 0;
}

 

Blogger news

Blogroll

About