Sabtu, 02 Juni 2012

Inheritance

TUGAS 4
Inheritance


Semua attribute dan method dari suatu kelas super dapat diwariskan ke subkelas.
Dalam hirarki kelas, jika kelas C merupakan turunan kelas B, dan kelas B merupakan turunan kelas A, maka otomatis attribute dan method kelas A juga diwariskan kelas C.
Bentuk pewarisan :
[modifier] class namaSubKelas extend namaKelasSuper {
   // classBody
}
Manfaat Pewarisan
Tanpa inheritance, maka semua attribute dan method yang pernah dibuat dan butuhkan kelas lain, harus ditulis ulang seluruhnya.
Dengan inheritance, seorang programmer ingin memodifikasi suatu attribute atau method yang dimanfaatkan subkelas, maka dilakukan modifikasi attribute dan method tersebut pada kelas supernya.



PEMBAHASAN


1.1.  Contoh Pemrograman Java
Contoh pertama :
//Class PersegiPanjang.java
public class PersegiPanjang {
    public int panjang;
    public int lebar;
   
    public int luas(){
        return panjang * lebar;
    }
    public static void main(String[] args) {
        PersegiPanjang psg = new PersegiPanjang();
        psg.panjang = 10;
        psg.lebar = 20;
        System.out.println("Luas "+psg.luas());
    }
}

//Class Segitiga.java
public class Segitiga extends PersegiPanjang {
    public int alas;
    public int tinggi;
    public int segitiga(){
        return alas * tinggi / 2;
    }
    public static void main(String[] Arg){
        Segitiga sg = new Segitiga();
        sg.panjang = 10;
        sg.lebar = 20;
        sg.alas = 10;
        sg.tinggi = 12;
        System.out.println("Luas    :"+ sg.segitiga());
        System.out.println("Luas    :"+ sg.luas());
    }
}

//Class Balok.java
public class Balok extends PersegiPanjang {
    public int tinggi;
    public int volume(){
        return panjang * lebar * tinggi;
    }
    public static void main(String[] args) {
        Balok b = new Balok();
        b.panjang = 10;
        b.lebar = 20;
        b.tinggi = 5;
        System.out.println("Luas " + b.luas());
        System.out.println("Volume " + b.volume());
    }
}

Contoh kedua :
//Class Burung.java
public class Burung {
    String nama; //atribut nama
    String warna; //atribut warna
    String sayap; //atribut sayap
    
    //method terbang
    public void terbang(){
        this.sayap = "Mengepak";
System.out.println("Burung "+this.nama+" Sedang Terbang");
    }
    //method tidur
    public void tidur(){
        this.sayap = "Diam";
System.out.println("Burung "+this.nama+" Sedang Tidur");
    }
}

//Class BurungBeraksi.java
public class BurungBeraksi {
    public static void main(String[] args){
Burung burungnuri = new Burung(); //membuat object burungnuri dari class Burung
burungnuri.nama = "Nuri"; //memanggil attribut nama pada object burungnuri dan memberi nilai
        burungnuri.warna = "Merah";
System.out.println("Burung "+burungnuri.nama+" Warnanya "+burungnuri.warna);
        //memangil method terbang object burungnuri
        burungnuri.terbang();
        System.out.println("Sayapnya "+burungnuri.sayap);
        burungnuri.tidur();
        System.out.println("Sayapnya "+burungnuri.sayap);
        System.out.println("");

        Burung burungmerpati = new Burung();
        burungmerpati.nama = "Merpati";
        burungmerpati.warna = "Putih";
System.out.println("Burung "+burungmerpati.nama+" Warnanya "+burungmerpati.warna);
        burungmerpati.terbang();
        System.out.println("Sayapnya "+burungmerpati.sayap);
        burungmerpati.tidur();
        System.out.println("Sayapnya "+burungmerpati.sayap);
    }
}

1.2.  Contoh Pemrograman C#
//Class Person.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Inheritance
{
class Person { 
protected String name; 

protected int age; 

public Person(String name, int age) { 
this.name = name; 
this.age = age; 
}

public String getName() { 
return this.name; 
} 

public int getAge() { 
return this.age; 
} 
} 
}

//Class Student.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Inheritance
{

class Student : Person {
private String schoolName;

public Student(String name, int age, String schoolName)
: base(name, age) {
this.schoolName = schoolName;
}

public String getSchoolName() {
return this.schoolName;
}
}
}

//Class Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Inheritance
{
class Program {
       public static void Main(string[] args) {
             
Person person = new Person("Satria", 24); 
       Student student = new Student("Satria", 24, "STIKOM PGRI Banyuwangi");

              Console.WriteLine("Informasi tentang object person : ");
              Console.WriteLine("Name    : " + person.getName());
              Console.WriteLine("Age     : " + person.getAge());
              Console.WriteLine(); 

              Console.WriteLine("Informasi tentang object student : "); 
              Console.WriteLine("Name    : " + student.getName()); 
              Console.WriteLine("Age     : " + student.getAge()); 
              Console.WriteLine("College : " + student.getSchoolName());
             
Console.WriteLine();
              Console.Write("Press any key...");
              Console.ReadKey(true);
       }
}
}

1.3.  Contoh Pemrograman C++
#include <iostream.h>
const int batas = 80;

//Kelas induk
class pegawai {
private:
char nama [batas];
unsigned long nip;
public:
void getdata() {
cout << endl << " Input Nama     : ";
cin >> nama;
cout << " Input NIP  : ";
cin >> nip;
}
void putdata() {
cout << endl << " Nama           : " << nama;
cout << endl << " NIP            : " << nip;
}
};

//Kelas turunan
class manajer : public pegawai {
private:
char bagian [batas];
double tunjangan;
public:
void getdata() {
pegawai::getdata();
cout << " Input Bagian     : ";
cin >> bagian;
cout << " Input Tunjangan Rp : ";
cin >> tunjangan;
}
void putdata() {
pegawai::putdata();
cout << "\n Bagian         : "<< bagian;
cout << "\n Tunjangan      : "<< tunjangan;
}
};

//Kelas turunan
class staff:public pegawai {
private:
char bagian[batas];
public:
void getdata() {
pegawai::getdata();
cout << " Input Bagian     : ";
cin >> bagian;
}
void putdata() {
pegawai::putdata();
cout << "\n Bagian         : " << bagian;
}
};

//Kelas abstrak
class buruh_operasional:public pegawai {

};
int main() {
manajer m1,m2;
staff s1;
buruh_operasional b1;

cout<<endl;
cout<<"Input Data Manajer 1";
m1.getdata();

cout<<endl;
cout<<"Input Data Manajer 2";
m2.getdata();

cout<<endl;
cout<<"Input Data Staff 1";
s1.getdata();

cout<<"\nInput Data Buruh Operasional 1";
b1.getdata();

cout<<"\nData Manajer 1";
m1.putdata();

cout<<"\nData Manajer 2";
m2.putdata();

cout<<"\nData Staff";
s1.putdata();

cout<<"\nData Buruh Operasional";
b1.putdata();
cout << endl;
return 0;
}

Tidak ada komentar:

Posting Komentar