Arayüzler
Bir classın ne yaptığı nasıl yaptığından daha önemlidir abstract kelimesi bir classın ne yapacağını belirler interface tamamı abstract olan bir yapıdır ▪ Bu sayede bir class birden fazla tipten türeyebilir Bir class birden fazla class ile ifade edilip esneklik sağlanabilir İç classlar daha düzenli kod sağlayabilir
Arayüz kendisini gerçekleyen classların neler yapacağını söyler Arayüzler classlar arası haberleşme protokolü olabilir
Enstrüman sadece bir enstrümanın neler yapabileceğini söyler Instrument ins = new Brass(); ins.play(); ins.what(); ins.adjust();
Bir class sadece tek bir classtan türeyebilir Arayüzler sayesinde bir class birden fazla yol ile erişilebilir class Bardak extends Kap implements TekElleTutulabilir, Doldurulabilir class CamBardak extends Bardak implements Kırılabilir Farklı arayüzlerdeki aynı metot isimlerine dikkat!
Arayüzler birbirlerinden (çoklu) türeyebilirler interface TekElleTutulabilir extends Tutulabilir Tüm metotlar public olur Classlar arayüz metotlarını gizleyemez Tüm özellikler static final olur Sabit değerleri tutmak için uygundurlar