⊗ppOpIfInr 65 of 107 menu

PHP'de OOP'de Arayüzler

Zaten bildiğiniz gibi, soyut sınıflar kendi soyundan gelenler için bir dizi metod temsil eder. Bu metodların bir kısmı sınıfın kendisinde uygulanabilirken, bir kısmı soyut olarak bildirilebilir ve alt sınıflarda uygulama gerektirebilir.

Soyut sınıfınızın sadece uygulaması olmayan soyut genel metodlardan oluşan bir set temsil ettiği bir durum hayal edelim.

Aslında, ana sınıfınız soyundan gelenlerin arayüzünü tanımlar, yani uygulanması zorunlu olan genel metodlarının setini.

Neden buna ihtiyacımız var: programlama yaparken daha az hata yapmak için - ana sınıfta gerekli tüm metodları tanımlayarak, tüm soyundan gelenlerin onları gerçekten uyguladığından emin olabiliriz.

Bu ne zaman yardımcı olur: diyelim ki ana sınıfımızı ve ona birkaç alt sınıf oluşturduk. Eğer bir süre sonra, örneğin bir ay sonra, bir alt sınıf daha oluşturmaya karar verirsek, muhtemelen kodumuzun detaylarını unutmuş oluruz ve yeni alt sınıfta bir metodun uygulamasını yazmayı unutabiliriz. Ancak PHP'nin kendisi bir metodun kaybolmasına izin vermez - ve sadece bir hata verecektir.

Aynı şey, projenizle çalışan başka bir programcı için de geçerlidir. Ana sınıfın kodunu siz yazmış olun ve ardından meslektaşınız bir tane daha alt sınıf oluşturmaya karar versin. Meslektaşınızın da birkaç metodu kaçırması mümkün olmayacaktır.

Ancak, bir sorun var: aslında ana sınıfımızı, içine soyut genel metodlar yazabilmek için yaptık, ancak biz veya meslektaşımız yanlışlıkla bu sınıfa genel olmayan veya soyut olmayan bir metod ekleme imkanına sahip.

Diyelim ki, ana sınıfta soyut genel metodlar dışında başka metodlar yapmayı fiziksel olarak yasaklamak istiyoruz. PHP'de bunun için soyut sınıflar yerine arayüzler kullanılabilir.

Arayüzler, tüm metodları genel ve uygulaması olmayan sınıflardır. Metodların kodları, arayüzlerin alt sınıfları tarafından uygulanmalıdır.

Arayüzler, tıpkı normal sınıflar gibi, ancak class kelimesi yerine interface anahtar kelimesi kullanılarak bildirilir.

Arayüzlerden miras almak için biraz farklı bir terminoloji kullanılır: sınıfların arayüzlerden miras almadığı, onları uyguladığı söylenir. Buna göre extends kelimesi yerine implements anahtar kelimesi kullanılmalıdır.

Bir arayüzün nesnesi oluşturulamaz. Arayüzün tüm metodları public olarak bildirilmeli ve uygulaması olmamalıdır. Bir arayüzün sadece metodları olabilir, özellikleri olamaz. Aynı isme sahip bir arayüz ve bir sınıf yapmak da mümkün değildir.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet