Abstract Sınıf (Doberman Örneği)

abstract-sinif-doberman-ornegi (büyük resim için tıklayın)

Bu gönderide; Doberman ırkını, Rottweiler ve Greyhound ırklarından soyutlama ile oluşturmaktan bahsediyorum.

Doberman; adını üreticisinden alan tek köpek ırkıdır ve ırkın üretilmesinde Rottweiler, Greyhound gibi farklı köpek ırklarının rol oynadığı düşünülmektedir. Daha detaylı bilgi için vikipedi web adresi (https://tr.wikipedia.org/wiki/Doberman) ziyaret edilebilir. 

Doberman; tüylerini Greyhound ırkından, kulaklarını Rottweiler ırkından almış olsun… Burada söz konusu olan “köpek” ırkı ve “tüy, kulak” gibi nesneye ait özelliklerdir. Dolayısıyla “Köpek” soyut(abstract) sınıfı ile birlikte "Doberman, Rottweiler ve Greyhound” sınıflarını oluşturalım. Burada Java' nın çoklu kalıtıma izin vermediğini ek olarak hatırlatmakta fayda var.

  • public abstract class Dog {

        abstract String getFeather();

        abstract String getEar();

    }

 

  • public class Greyhound extends Dog {

        @Override
        String getEar(){
           return "Greyhound Ear";
        }

        @Override
        String getFeather(){
            return "Greyhound Feather";
        };
    }

 

  • public class Rottweiler extends Dog {

        @Override
        String getEar(){
           return "Rottweiler Ear";
        }

        @Override
        String getFeather(){
            return "Rottweiler Feather";
        };
    }

 

  • public class Doberman {

        public String feather;
        public String ear;

    }

Yukarıdaki oluşturulan sınıfları kullanalım…

  • Rottweiler rottweiler=new Rottweiler();
  • Greyhound greyhound=new Greyhound();
  • Doberman doberman=new Doberman();
  • doberman.feather=greyhound.getFeather();
  • doberman.ear=rottweiler.getEar();
  • System.out.println(doberman.feather);
  • System.out.println(doberman.ear);

omurs

Ö S, 30 Ağustos 2018 Perşembe 15:30 tarihinde kayıt oldu

Etiketler

Beğeni

Toplam Beğeni Sayısı: 1


Yıllara Göre Gönderiler








LombokLoglamaB2C (Business-to-Consumer)B2B (Business-to-Business)İçerik Yönetim Sistemi - CMS (Content Management System)Pagination (Sayfalama)Sanal Özel Ağ - VPN (Virtual Private Network)Cronjob (Zamanlanmış Görevler)Printer-YazıcıJava'daki İlkel Veri Tipleri ve Alabilecekleri DeğerlerBit & Byte ve Hafıza Boyutlarındaki Ölçüm BirimleriSanallaştırma (Virtualization)DNS KayıtlarıE-Fatura ve E-ArşivYazılım Lisans TürleriAudit (Denetim) Açık Kaynak (Open Source)Monitoring (İzleme)Sitemap & Robots.txtKilometretaşı (Milestone)BSMV (Banka ve Sigorta Muameleleri Vergisi)KKDF (Kaynak Kullanımı Destekleme Fonu)Siber Pazartesi (Cyber Monday)Black Friday (Kara Cuma)Hotlink.htaccessCryptoLockerMalwareTrojanWormDependency (Yazılım Geliştirme Sürecinde Paket Bağımlılığı)Configuration (Yazılım Geliştirme Sürecinde Yapılandırma)Yahoo ve Yahoo'nun Başarısızlık NedenleriArchiving (Yazılım Geliştirme Sürecinde Arşivleme)Görsel Dosya Türleri (Image Types)ReleaseVersioning & Tagging (Versiyonlama ve Etiketleme)BuildJob (Yazılım Geliştirme Sürecinde Görevler)SonarQubeCDATA (Character Data)Alan Adı Uzantıları (Domain Name Extensions)Regresyon Kara Kutu (Black-Box) TestBeyaz Kutu (White-box) TestGri Kutu (Grey-box) TestYazılım Geliştirme Sürecindeki Temel Test TürleriKod gözden geçirme (Code Review)Birim Testi (Unit Testing)Yazılım Sürecinde EntegrasyonJAR & WAREager & Lazy Fetch TypeMaskelemeKPI (Key Performance Indicator)KII (Key Impact Indicator)Projenin JAR Dosyasını Oluştur - JAR PathSunucu için Linux dağıtım SeçimiKonyteynerler (container technologies)Runtime & Compile Time (Çalışma ve Derleme Zamanı)@Anotasyonlar (@Annotations)