PHP'de Arayüz | PHP OOP Arayüzleri
Yayınlanan: 2021-03-03İçindekiler
Tanıtım
PHP, nesne yönelimli bir dildir ve arabirim, nesne yönelimli bir programlama dilinin temel özelliklerinden biridir. Arayüz, kodlayıcıların, bu arayüzü uygulayan sınıfta farklı tanımları içeren işlevleri bildirmelerini sağlar. PHP'deki arayüzü anlamak için okumaya devam edin . Ayrıca, daha fazla bilgi edinmek için makalede paylaşılan PHP'deki arayüz örneklerini inceleyin.
PHP'de Arayüz
Arayüz, nesne yönelimli programlamada, uygulama olmadan işlevler oluşturmaya izin veren bir özelliktir. Uygulamanın sınıfa dahil edilmesi gerekir. Arabirimi devralan her sınıf ihtiyaca göre farklı bir uygulamaya sahip olabileceğinden, yöntem tanımının karmaşıklığını önlemeye yardımcı olur. PHP'de arayüzün kullanımı sınıfa benzer, tek fark arayüzdeki fonksiyonlarda uygulamanın mevcut olmaması ve arayüzün değişkeni olmamasıdır.
PHP'de Arayüzün Özellikleri
- Arayüz kodu içermiyor.
- Arabirim, argümanlı veya argümansız yöntem bildirimine sahiptir, ancak tanımı yoktur.
- Arabirimi uygulayan bir sınıf, arabirimde bildirilen tüm yöntemlerin tanımını içermelidir.
- Bir sınıf, birden çok arabirimin uygulanmasına sahip olabilir.
- Bir arabirimin soyut olmayan yöntemleri olamaz.
Bir Arayüzün Sözdizimi
Arayüzün kullanımdan önce bildirilmesi gerekir. Bir arabirimin sözdizimi, bir sınıfın sözdizimine benzer, tek fark, arabirim bildirilirken sınıf anahtar sözcüğü yerine interface anahtar sözcüğünün kullanılmasıdır. PHP'de bir arayüz bildirmek için sözdizimi aşağıdadır :
<?php
// PHP'de arayüzün beyanı
Arayüz <Arayüz Adı>
{
//Kod
}
?>
Arayüzün içinde bildirilen yöntemlere, arayüzü sınıfa göre miras alarak erişilebilir. Sınıf , sınıfı bildirirken implements anahtar sözcüğünü kullanarak PHP'deki arabirimi devralır .
PHP'de bir arayüz uygulamak için sözdizimi aşağıdadır :
<?php
//Sınıf beyanı
<Sınıf Adı> sınıfı, <Arayüz Adı> öğesini uygular
{
//Kod
}
?>
PHP'de Arayüz Örnekleri
Arayüzün kullanımını anlamak için aşağıdaki örneğe bir göz atalım:
<?php
//Arayüz bildiriliyor
Arayüz Örneği_Şekil
{
Genel işlev ShapeArea();
}
//Arayüzü miras alan sınıf
Class Shape1, Example_Shape'i uygular
{
Genel işlev ShapeArea()
{
Echo 'Dairenin alanı';
}
}
//Arayüzü devralan sınıf
Class Shape2, Example_Shape'i uygular
{
Genel işlev ShapeArea()
{
Echo 'Meydanın alanı';
}
}
// Arayüz kullanmadan sınıf
Sınıf Şekli3
{
Genel işlev AreaCal()
{
Yankı 'Arayüz yok';
}
}
$Obj1 = yeni Şekil1; // sınıf1 için nesne
$Obj2 = yeni Şekil2; // sınıf2 için nesne
$obj3 = yeni Şekil3; // Sınıf 3 için nesne, arayüz kullanmıyor
Yankı $obj1->ShapeArea();
Yankı '<br>';
Yankı $obj2->ShapeArea();
Yankı '<br>';
Yankı $obj3->AreaCal();
?>
Çıktı
Daire alanı
Kare alanı
Arayüz yok
Çıktının açıklaması
Shape1 sınıfı, arabirim içinde bildirilen bir işlevin tanımına sahiptir. Shape1 arayüzü uygular, bu nedenle içindeki fonksiyona erişimi vardır ve 'Dairenin Alanı' yazdırır. Shape2 sınıfının açıklaması ve 'Karenin alanı' çıktısının açıklaması da benzerdir. Shape3 sınıfı, arayüzü uygulamıyor ve PHP'de normal bir sınıf gibi çalışıyor.
Çoklu Arayüzlerin Uygulanması
Bir sınıf da birden fazla arabirim uygulayabilir. Bu gibi durumlarda, sınıfın uyguladığı tüm arabirimlerde bildirilen tüm yöntemlerin tanımına sahip olması gerekir. Aşağıda, PHP'de birden fazla arayüzün uygulanmasının resmi verilmiştir .
<?php
// Arayüz Beyanı
Arayüz örneği1
{
Genel işlev method1();
}
// Başka bir arayüzün beyanı
Arayüz örneği2
{
Genel işlev method2();
}
//Yukarıda belirtilen iki arabirimi uygulayan sınıf
sınıf sınıf1, örnek1'i uygular, örnek2
{
// interface1 metodunun tanımı
Genel işlev yöntemi1
{
Echo 'Inside interface1 method1';
}
// interface2 metodunun tanımı
Genel işlev yöntemi2
{
Echo 'Inside interface2 method2;
}
}
Obj1 = yeni sınıf1;
Obj2 = yeni sınıf2;
Obj1->yöntem1;
Obj2->yöntem2;
?>
Çıktı
Arayüz1 yöntemi1 içinde
Arayüz2 yöntemi2 içinde
Çoklu Arayüzlerin Uygulanması Hakkında Dikkat Edilmesi Gereken Birkaç Nokta
- Arayüzde bildirilen tüm yöntemler genel olmalıdır.
- İşlev, özet anahtar sözcüğüne sahip olamaz.
- Programcı herhangi bir arayüz fonksiyonunu tanımlamayı unutursa, kod bir hata verecektir.
- Arayüzler değişken içeremez.
Ödeme: PHP'de OOP Kavramları
Arayüz ve Soyut Sınıf Arasındaki Fark
Aşağıda bir arayüz ile soyut bir sınıf arasındaki bazı farklar verilmiştir:
- Bir arabirim yalnızca bildirimi içerir, ancak soyut bir sınıf hem yöntem bildirimini hem de tanımını içerir.
- Arabirimdeki yöntemler yalnızca genel olabilirken, soyut sınıftaki yöntemler genel, özel veya korumalı olarak bildirilebilir.
- Bir sınıf birden fazla arabirim uygulayabilirken, bir sınıf yalnızca bir soyut yöntemi genişletebilir.
Çözüm
PHP'deki bir arayüz , kullanıcıların tanımsız genel yöntemler bildirmelerini sağlayan bir özelliktir. Bu makale, sözdizimi ve örnekleri ile arayüz ile ilgili tüm bilgileri açıkladı. Bu makalede paylaşılan bilgilerin kavramı anlamanıza yardımcı olacağını umuyoruz. PHP tabanlı benzer konuları upGrad bloglarında öğrenebilirsiniz. Derinlemesine anlamak için upGrad'da PHP ile ilgili çevrimiçi bir sertifika kursuna kaydolabilirsiniz. upGrad , kariyerinizde ve öğreniminizde size yardımcı olabilecek birçok sertifika kursu sunar.
Full-stack yazılım geliştirme hakkında daha fazla bilgi edinmek istiyorsanız, upGrad & IIIT-B'nin çalışan profesyoneller için tasarlanmış ve 500+ saatlik zorlu eğitim, 9+ proje ve Full-stack Yazılım Geliştirme PG Diplomasına göz atın. atamalar, IIIT-B Mezun statüsü, pratik uygulamalı bitirme projeleri ve en iyi firmalarla iş yardımı.