60 likes | 149 Vues
Understanding the significance of interfaces in Java programming for creating flexible and adaptable class structures. Learn how interfaces define behaviors, allow for multiple inheritance, and enhance code organization.
E N D
Arayüzler EM-406 Java
Motivasyon • 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üzler • Arayüz kendisini gerçekleyen classların neler yapacağını söyler • Arayüzler classlar arası haberleşme protokolü olabilir
Arayüzler • Enstrüman sadece bir enstrümanın neler yapabileceğini söyler • Instrument ins = new Brass(); • ins.play(); • ins.what(); • ins.adjust();
Çoklu Miras Alma • 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üz Özellikleri • 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