Java – Abstract sınıflar ve methodlar
ABSTRACT SINIFLAR VE METHODLAR :
UYGULAMALI KOD ———->
package javadersleri;
// abstruct class’ta soyut sınıfa ait nesne yaratılamaz. sadece extends edilebilmektedir.
// soyut sınıfın içinde en az bir adet soyut method yer alması gerekmektedir.
// soyut sınıfın içinde somut bir method yer alabilmektedir.
// constructor methodu tanımlanabilir.
abstract class soyut{
abstract void soyutMethod(); // bu soyut bir methoddur.
void somutMethod(){ // bu somut bir methoddur.
System.out.println(“Bu somut bir methoddur.”);
}
}
class somut extends soyut{
void soyutMethod(){ // soyutmethodu miras alan classın içinde somut bir method olarak işlediğimiz anda hata vermeyi bırakacaktır.
System.out.println(“Ben soyut bir methodum.”);
}
}
public class abstractClass_methodları {
public static void main(String[]args){
// soyut Soyut = new soyut(); soyut sınıfa ait bir nesne yaratılamayacağı için derleyici kabul etmez ve hata verir.
somut somuT = new somut(); // abstruct class olan soyut classından somut class’ına miras aldık ve methodları şimdi çalıştırabliriz.
somuT.somutMethod();
somuT.soyutMethod(); // normalde soyut bir methoddu abs class’ın içinde ama normal bir class’a miras aldığımızda
// artık soyut özelliğini yitirmiş oldu ve yazdırabildik.
}
}
KENDİ ÖRNEK KOD’UM ———>
package javadersleri;
abstract class soyut{
abstract void soyutM(String selamla);
void somutMethod(int a, int b){
System.out.println(“a + b = “+(a+b));
System.out.println(“a – b = “+(a-b));
System.out.println(“a * b = “+(a*b));
System.out.println(“a / b = “+(a/b));
}
}
class somut extends soyut{
void soyutM(String selamla){
System.out.println(selamla);
}
}
public class abstractClass_methodları {
public static void main(String[]args){
//soyut s = soyut(); böyle hata vereceği için abstruct class olduğundan dolayı miras alayarak yaptık işlemlerimizi.
somut somuT = new somut();
somuT.somutMethod(17,8);
somuT.soyutM(“Selamlar. ” +
“\nBen bir soyut methodum.”);
}
}