Java Abstract [Soyutlama] Nedir?
- Sevdanur GENC

- Aug 19, 2011
- 2 min read
Soyutlamanın tam olarak sınıflara ve içerisinde yer alan metodlara uygulandığını bilmek. Peki o halde soyut sınıf nedemek? Soyut sınıfları, somut olmayan sınıflar olarak tanımlıyarak bu kavramı açıklamaktan kurtulabilirim. Keza, somut olmayan sınıflarda soyutturlar. Asıl olan, soyut sınıfların, kalıtımın bir parçası olarak normal bir sınıfın sahip olabileceği üyeler dışında, soyut metodlara sahip oluğu ve bu soyutlamadan türeyen sınıflardada, soyutlanmış metod bildirimlerini mutlaka ve mutlaka uygulamak zorunda bıraktığı yapılardır. Bu açıdan bakıldığında, soyut sınıfların, kalıtımda birleştirici bir rol üstlenmenin yanı sıra, türeyen sınıfların zorunlu olarak izlemeleri gereken bir rehber oluşturduğunuda söyleyebiliriz.
Abstract - Banka Uygulamasi
IBanka.Java Class ;
public abstract class IBanka
{
abstract boolean INSERT(String bankakodu, String bankaadi);
abstract boolean SELECT(String bankakodu);
abstract boolean UPDATE(String bankakodu, String bankaadi);
abstract boolean DELETE(String bankakodu);
public String bankaadi;
public String bankakodu;
public void setbankaadi(String bankaadi) {
this.bankaadi = bankaadi;
}
public String getbankaadi() {
return bankaadi;
}
public void setbankakodu(String bankakodu) {
this.bankakodu = bankakodu;
}
public String getbankakodu() {
return bankakodu;
}
}
ABankasi.Java Class ;
import java.util.ArrayList;
import java.util.List;
public class ABankasi extends IBanka
{
public List<ABankasi> getbankalistesi()
{
return kayit;
}
List<ABankasi> kayit = new ArrayList<ABankasi>();
public boolean INSERT(String bankakodu, String bankaadi)
{
ABankasi bank = new ABankasi();
bank.setbankakodu(bankakodu);
bank.setbankaadi(bankaadi);
kayit.add(bank);
return true;
}
public boolean SELECT(String bankakodu)
{
System.out.println("girmis oldugunuz bankanin bilgileri ");
System.out.println("------------------------------------");
for(ABankasi bank : getbankalistesi())
{
if(bank.getbankakodu().equals(bankakodu))
{
System.out.println("Banka Kodu : " + bank.getbankakodu());
System.out.println("Banka Adi : " + bank.getbankaadi());
System.out.println("------------------------------------------");
return true;
}
}
return false;
}
public boolean DELETE(String bankakodu)
{
int banka_index = 0;
for(ABankasi bank : getbankalistesi())
{
if(bank.getbankakodu().equals(bankakodu))
{
kayit.remove(banka_index);
System.out.println("Banka Silinmistir");
return true;
}
banka_index++;
}
return false;
}
public boolean UPDATE(String bankakodu, String bankaadi)
{
for(ABankasi bank : getbankalistesi())
{
if(bank.getbankakodu().equals(bankakodu))
{
bank.setbankaadi(bankaadi);
System.out.println("Banka Bilgileri Güncellendi");
return true;
}
}
return false;
}
}
TestSinifi.Java Class ;
import java.util.Scanner; public class testsinifi { public static void main(String[] args) { ABankasi banka = new ABankasi(); String bankakodu, bankaadi; Scanner verial = new Scanner(System.in); while(true) { System.out.println("ABSTRACT - banka islemlerine hosgeldiniz... "); System.out.println("1 - banka kayit islemleri INSERT "); System.out.println("2 - banka bilgileri goruntuleme SELECT "); System.out.println("3 - banka bilgileri guncelleme UPDATE "); System.out.println("4 - banka kayit silme DELETE"); System.out.println("5 - tum bankalarin listesi GETBANKALISTESI"); System.out.println("6 - cikis "); System.out.println("lutfen seciminizi yapiniz "); int bilgi = verial.nextInt(); if(bilgi==1) { System.out.println("Bankanin Kodunu Giriniz "); bankakodu = verial.next(); System.out.println("Bankanin Adini Giriniz : "); bankaadi = verial.next(); banka.INSERT(bankakodu, bankaadi); } if(bilgi==2) { System.out.println("Lutfen bilgilerini gormek istediginiz"); System.out.println("Bankanin BANKA KODU'nu giriniz"); bankakodu = verial.next(); banka.SELECT(bankakodu); } if(bilgi==3) { System.out.println("Lutfen bilgilerini guncellemek istidiginiz"); System.out.println("Bankanin BANKA KODU'nu giriniz"); bankakodu = verial.next(); System.out.println("bankanin BANKA ADI'ni giriniz"); bankaadi = verial.next(); banka.UPDATE(bankakodu, bankaadi); } if(bilgi==4) { System.out.println("lutfen silmek istidiginiz"); System.out.println("bankanin BANKA KODU'nu giriniz"); bankakodu = verial.next(); banka.DELETE(bankakodu); } if(bilgi==5) { int banka_index = 0; for(ABankasi bank: banka.getbankalistesi()) { System.out.println("Banka Sirasi : "+ String.valueOf(banka_index+1)); System.out.println("Banka Kodu : "+ bank.getbankakodu()); System.out.println("Banka Adi : "+ bank.getbankaadi()); System.out.println("------------------------------------------"); banka_index++; } } if(bilgi==6) { System.out.println("Islemleriniz Icin TESEKKUR EDERIZ!!!..."); break; } } } }
Comments