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