10. ABSTRACT ve FINAL class ve methodlar

แชร์
ฝัง
  • เผยแพร่เมื่อ 3 มี.ค. 2022
  • Bu videoda abstract/soyut, final classlar ve methodlara bakacağız.
    Java’ya Giriş Referans Kitapçığı ► www.rmkod.com/java-referans-k...
    Instagram ► / irmakozonay
    Twitter ► / irmakozonay
    Abstract classlar
    Abstract classlar instantiate edilemez, yani abstract bir classın bir objesi oluşturulamaz.
    Bazı classlar genelde polymorphismi kullanmak için yaratılır.
    Örneğin bir programda Hayvan.java classı sadece Kedi.java, Kopek.java classlarının kendinden inherit etmesi için yaratılmış olabilir ve Hayvan classından bir obje oluşturmak anlamsızdır.
    Bu tarz classlardan yeni bir obje yaratılmasını engellemek için bu classlar abstract olarak tanımlanabilir.
    public abstract class Animal {
    }
    Animal animal = new Animal(); // HATA
    Abstract methodlar
    Methoda abstract kelimesini ekleyerek methodu gövdesiz şekilde tanımlayabiliriz.
    Bu sayede alt sınıflar bu methodu kendileri implemente etmek zorunda kalır.
    Örneğin Hayvan classında sesÇıkar() methodu kedi için farklı, köpek için farklı olarak implemente edilmelidir. Hayvan classında bu methodun implemente edilmiş olmasının bir anlamı yoktur.
    public abstract class Animal {
    public abstract void makeNoise();
    }
    public class Cat extends Animal{
    @Override
    public void makeNoise() {
    System.out.println("Miyav!");
    }
    }
    Final classlar
    Bir classın extend edilmesini engellemek için class final kelimesi ile tanımlanabilir.
    public final class SomeFinalClass {
    }
    public class SomeClass extends SomeFinalClass{ // HATA
    }
    Final methodlar
    Final olarak tanımlanan methodlar extend edilen classlarda override edilemez.
    public class SomeClass {
    public final void log(
    System.out.println("logging");
    );
    }
    public class SomeOtherClass extends SomeClass{
    @Override
    public void log() { // HATA
    }
    }

ความคิดเห็น • 2

  • @enesersoz9548
    @enesersoz9548 ปีที่แล้ว

    Teşekkürler 💯

  • @Sifirbakiye
    @Sifirbakiye 2 ปีที่แล้ว

    Bir sonraki videoda görüşmek üzere