Java Class Yapısında Miras İnheritance Ve Uzatma Extends İşlemleri

Java Class Yapısında Inheritance ve Extends

Genel olarak bir sınıftan yeni sınıflar türetmek olarak açıklanabilir.Kalıtım veya miras olarak da bahsedebiliriz.Günümüzden örnek vericek olursak yapı olarak ; yeni doğan bir çocuğun anne ve babasından bir takım özellikleri taşıması olabilir.
 
Bir sınıfın başka bir sınıftan bilgileri miras olarak alması istendiğinde aralarında bir ilişkisi kurulur.Bu ilişki inheritance sağlar.Aralarında bağlantı kurulduktan sonra yeni oluşan sınıf türetilen sınıfın özelliklerini taşır.Bu ilişkinin yararları ise sınıflar arasında düzenli bir yapı ve ilişki kurmak , her sınıfta olan bir takım özelliklerin tekrar tekrar yazılmasını önlemek ve ortak olan özellikleri tek bir sınıfta toplamaktır.

Örnek :


class calisan {

    int boy;
    int kilo;
    int yas;
}

class sef extends calisan {

    String gorev;
}

public class mainclass {

    public static void main(String args[]) {

        sef omer = new sef(); //Sef tipinde bir omer nesnesi üretiliyor

        omer.kilo = 75;
        omer.gorev = "Usta";
 
        System.out.println(omer.kilo); //kilo ozelliğini extends ile calisan classından aldı
        System.out.println(omer.gorev); //gorev ozelligi ait oldugu sef classına ait
    }

}
 

  Yukarıda vermiş olduğum örnekte ki şu bölümde  

 

public class calisan {
    int boy;
    int kilo;
    int yas;
}

 

"calisan" isminde bir class oluşturulup boy , kilo ve yaş değişkenlerini içermektedir.

 

class sef extends calisan {

    String gorev;
}

public class mainclass {

    public static void main(String args[]) {

        sef omer = new sef(); //Sef tipinde bir omer nesnesi üretiliyor

        omer.kilo = 75;
        omer.gorev = "Usta";

        System.out.println(omer.kilo); //kilo ozelliğini extends ile calisan classından aldı
        System.out.println(omer.gorev); //gorev ozelligi ait oldugu sef classına ait
    }

}
 

"sef" adında yeni bir class oluşturulmuştur.Ve bu class "calisan" sınıfından boy , kilo ve yas değişkenlerini almıştır (miras veya kalıtım). Ve omer adlı kişinin şef olduğu belirtilmiştir.Ayrıca kilosu da gösterilmiştir.Ama kilo değişkeni sef sınıfında yoktur.İşte miras yoluyla "calisan" sınıfından bilgiler aktarılmıştır.
 

  Bu bölümdeki extends kodu sınıfı uzatmaya yarıyor. Yani bir alt sınıf oluşturarak programın daha da büyümesini sağlar.Kodlarda da görüldüğü gibi yeni oluşturulan sef isimli class calisan class ından bilgileri alır.Ve daha sonra yeni oluşturulan bir class sef class ından bilgileri alır ve bu döngü şeklinde aktarılmaya devam eder.Günümüzde kalıtıma ait örneklerin kuşaktan kuşağa aktarılması gibi.

class sef extends calisan {

    String gorev;
}

 
Yeni oluşturulan class türetilen class tan daha geniş daha sistemli daha da içerikli olabilir.Yani türetilen sınıfın içerdiği bilgiler dışında kendisine bilgi ekleyebilir (güncelleyebilir) ve böylece türetilen sınıftan daha büyük olur.
 

Ömer ERDOĞAN
 

Yorumunuzu Ekleyin
Java Class Yapısında Miras İnheritance Ve Uzatma Extends İşlemleri Yorumları +6 Yorum
  • wolf
    1
    wolf
    arkadaşım yalan yanlış bilgi verme..
    sef.kilo değil omer.kilo olucak.... düzelt ki milletin yanlış öğrenmesine vesile olma..
    15 Mayıs 2010 15:50:20, Cumartesi
  • esra
    1
    esra
    evet omer.kilo kısmı hariç diğer bilgiler için tesekkür ederiz
    23 Mayıs 2010 16:53:09, Pazar
  • Tekin
    1
    Tekin
    Bu makale yeterli ve doğru değil , milletin kafasını karıştırmayın
    07 Aralık 2013 21:25:38, Cumartesi
  • admin
    1
    admin
    Uyarılarınız üzerine makalede gerekli düzeltme yapılmıştır. Teşekkürler.
    07 Aralık 2013 21:54:50, Cumartesi
  • gokmen
    1
    gokmen
    Ama kilo değişkeni sef sınıfında yoktur demek yerine

    Ama kilo değişkeni sef tipindeki omer nesnesinde yoktur demeniz gerekmiyor mu?
    18 Ekim 2015 18:53:25, Pazar
  • Gökmen
    1
    Gökmen
    Ve omer adlı kişinin şef olduğu belirtilmiştir yerine

    Ve omer adlı kişinin Usta olduğu belirtilmiştir demeniz gerekmiyor mu?
    18 Ekim 2015 18:58:00, Pazar


Yükleniyor...
Yükleniyor...