Pewarisan pada java
Dalam Java, semua class, termasuk class yang membangun Java API, adalah subclasses dari superclass Object. Contoh hirarki class diperlihatkan di bawah ini. Beberapa class di atas class utama dalam hirarki class dikenal sebagai superclass. Sementara beberapa class di bawah class pokok dalam hirarki class dikenal sebagai subclass dari class tersebut.
Pewarisan adalah keuntungan besar dalam pemrograman berbasis object karena suatu sifat atau method didefinisikan dalam superclass, sifat ini secara otomatis diwariskan dari semua subclasses. Jadi, Anda dapat menuliskan kode method hanya sekali dan mereka dapat digunakan oleh semua subclass. Subclass hanya perlu mengimplementasikan perbedaannya sendiri dan induknya.
Mendefinisikan Superclass dan Subclass
Untuk memperoleh suatu class, kita menggunakan kata kunci extend.
Untukmengilustrasikan ini, kita akan membuat contoh class induk. Dimisalkan kita mempunyaiclass induk yang dinamakan Person.
Kata Kunci SuperSubclass juga dapat memanggil constructor secara eksplisit dari superclass terdekat. Hal ini dilakukan dengan pemanggil construktor super. Pemanggil constructor super dalam constructor dari subclass akan menghasilkan eksekusi dari superclass constructor yang bersangkutan, berdasar dari argumen sebelumnya.
Overriding Method
Untuk beberapa pertimbangan, terkadang class asal perlu mempunyai implementasi berbeda dari method yang khusus dari superclass tersebut. Oleh karena itulah, method overriding digunakan.Subclass dapat mengesampingkan method yang didefinisikan dalam superclass dengan menyediakan implementasi baru dari method tersebut. Misalnya kita mempunyai implementasi berikut untuk method getName dalam superclass Person.
Tampilan awal sebelum data diinputkan :
Tampilan ketika proses diinputkan :
Tampilan Show 1 :
Source Code bisa di download Klik Disini
Source Code bisa di baca di bawah ini :
Kelas Utama
package pkgprak2;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
/**
* @author Ayudya Tria Afriana
*/
public class prak2Midlet extends MIDlet implements CommandListener {
private FormInput frmInput;
private FormShow1 frmShow1;
private FormShow2 frmShow2;
private Command cmShow1,cmShow2,cmBack,cmExit;
public void startApp(){
if (frmInput == null)
frmInput = new FormInput();
if (frmShow2 == null)
frmShow1 = new FormShow1();
if (frmShow2 == null)
frmShow2 = new FormShow2();
cmShow1 = new Command("Show 1", Command.OK, 0);
cmShow2 = new Command("Show 2", Command.OK, 0);
cmBack = new Command("Back", Command.BACK, 0);
cmExit = new Command("Exit", Command.EXIT, 0);
frmInput.addCommand(cmShow1);
frmInput.addCommand(cmShow2);
frmInput.addCommand(cmExit);
frmShow1.addCommand(cmBack);
frmShow2.addCommand(cmBack);
frmInput.setCommandListener(this);
frmShow1.setCommandListener(this);
frmShow2.setCommandListener(this);
Display.getDisplay(this).setCurrent(frmInput);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable d) {
if (d == frmInput) {
if (c == cmExit) {
destroyApp(true);
notifyDestroyed();
}
if (c == cmShow1) {
frmShow1.setNama(frmInput.GetNama());
frmShow1.setEmail(frmInput.GetEmail());
Display.getDisplay(this).setCurrent(frmShow1);
}
if (c == cmShow2) {
frmShow2.setTextBox(frmInput.GetNama() + "\n"
+ "" + frmInput.GetEmail());
Display.getDisplay(this).setCurrent(frmShow2);
}
}
if (d == frmShow1) {
if (c == cmBack) {
Display.getDisplay(this).setCurrent(frmInput);
}
}
if (d == frmShow2) {
if (c == cmBack) {
Display.getDisplay(this).setCurrent(frmInput);
}
}
}
}
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
/**
* @author Ayudya Tria Afriana
*/
public class prak2Midlet extends MIDlet implements CommandListener {
private FormInput frmInput;
private FormShow1 frmShow1;
private FormShow2 frmShow2;
private Command cmShow1,cmShow2,cmBack,cmExit;
public void startApp(){
if (frmInput == null)
frmInput = new FormInput();
if (frmShow2 == null)
frmShow1 = new FormShow1();
if (frmShow2 == null)
frmShow2 = new FormShow2();
cmShow1 = new Command("Show 1", Command.OK, 0);
cmShow2 = new Command("Show 2", Command.OK, 0);
cmBack = new Command("Back", Command.BACK, 0);
cmExit = new Command("Exit", Command.EXIT, 0);
frmInput.addCommand(cmShow1);
frmInput.addCommand(cmShow2);
frmInput.addCommand(cmExit);
frmShow1.addCommand(cmBack);
frmShow2.addCommand(cmBack);
frmInput.setCommandListener(this);
frmShow1.setCommandListener(this);
frmShow2.setCommandListener(this);
Display.getDisplay(this).setCurrent(frmInput);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable d) {
if (d == frmInput) {
if (c == cmExit) {
destroyApp(true);
notifyDestroyed();
}
if (c == cmShow1) {
frmShow1.setNama(frmInput.GetNama());
frmShow1.setEmail(frmInput.GetEmail());
Display.getDisplay(this).setCurrent(frmShow1);
}
if (c == cmShow2) {
frmShow2.setTextBox(frmInput.GetNama() + "\n"
+ "" + frmInput.GetEmail());
Display.getDisplay(this).setCurrent(frmShow2);
}
}
if (d == frmShow1) {
if (c == cmBack) {
Display.getDisplay(this).setCurrent(frmInput);
}
}
if (d == frmShow2) {
if (c == cmBack) {
Display.getDisplay(this).setCurrent(frmInput);
}
}
}
}
Kelas Input
package pkgprak2;
import javax.microedition.lcdui.*;
/**
*
* @author Ayudya Tria Afriana
*/
public class FormInput extends Form {
private TextField tfNama, tfEmail;
public FormInput(){
super ("Input Data");
tfNama = new TextField ("Nama Anda :", null, 45, TextField.ANY);
tfEmail = new TextField ("Email :", null, 45, TextField.EMAILADDR);
append(tfNama);
append(tfEmail);
}
public String GetNama(){
return tfNama.getString();
}
public String GetEmail(){
return tfEmail.getString();
}
}
import javax.microedition.lcdui.*;
/**
*
* @author Ayudya Tria Afriana
*/
public class FormInput extends Form {
private TextField tfNama, tfEmail;
public FormInput(){
super ("Input Data");
tfNama = new TextField ("Nama Anda :", null, 45, TextField.ANY);
tfEmail = new TextField ("Email :", null, 45, TextField.EMAILADDR);
append(tfNama);
append(tfEmail);
}
public String GetNama(){
return tfNama.getString();
}
public String GetEmail(){
return tfEmail.getString();
}
}
Kelas Show 1
package pkgprak2;
import javax.microedition.lcdui.*;
/**
*
* @author Ayudya Tria Afriana
*/
public class FormShow1 extends Form {
private StringItem stNama, stEmail;
public FormShow1 (){
super ("Tampil 1");
stNama = new StringItem ("Nama : ", null);
stEmail = new StringItem("Email : ", null);
append(stNama);
append(stEmail);
}
public void setNama (String nama){
stNama.setText(nama);
}
public void setEmail (String email){
stEmail.setText(email);
}
}
import javax.microedition.lcdui.*;
/**
*
* @author Ayudya Tria Afriana
*/
public class FormShow1 extends Form {
private StringItem stNama, stEmail;
public FormShow1 (){
super ("Tampil 1");
stNama = new StringItem ("Nama : ", null);
stEmail = new StringItem("Email : ", null);
append(stNama);
append(stEmail);
}
public void setNama (String nama){
stNama.setText(nama);
}
public void setEmail (String email){
stEmail.setText(email);
}
}
Kelas Show 2
package pkgprak2;
import javax.microedition.lcdui.*;
/**
*
* @author Ayudya Tria Afriana
*/
public class FormShow2 extends TextBox {
public FormShow2(){
super ("Tampil 2", null, 45, 0);
}
public void setTextBox (String isi){
this.setString(isi);
}
}
import javax.microedition.lcdui.*;
/**
*
* @author Ayudya Tria Afriana
*/
public class FormShow2 extends TextBox {
public FormShow2(){
super ("Tampil 2", null, 45, 0);
}
public void setTextBox (String isi){
this.setString(isi);
}
}
makasih infox,,,
BalasHapuslumayan juga nih buat tambah" ilmu .. itu jadi kaya emolator ya ato gmn ya? kl yang buat linux ada g programnya?
BalasHapuskeep posting!! :)