Beni Takip Edebilirsin
Php interface nedir ve nasıl kullanılır
İnterface nedir ?
Bu dersimizde sizden elimden geldiğince interface ne olduğunu , neden gerek olduğu ve nasıl kullanıldığını bahsetmeye çalışıcam.
interface türkçe karşılığı olarak arayüz anlamına gelmektedir.Peki bu arayüz bildigimiz front end mi ? tabikide hayır .
interface'e neden gerek var ?
İnterface yazılımlarımızda belirli bir standart yakalamak için kullanılan nesne arayüzleridir.Genel tabirle oluşturacağımız class ların nasıl bir yapıya sahip olacağını neler bulunması gerektiğini bize anlatan yapılardır. Böyle anlatınca belki kafanızda canlanmamış olabilir ama örneklerle bu cümleleri destekliyeceğiz.Kısacası interface belirli bir kalıpları elde etmek için kullanılır.
İnterface nasıl kullanılır ?
interfaceler class lar gibi oluşturulu ama "class " degilde "interface" olarak tanımlanır . Şimdi sizlerle bir interface oluşturalım.
Örneğin bir Araç ile ilgili bir class'ımız olduğunu varsayalım bu class içerisinde olmazsa olmaz "motor" , "vites", "yakıt" methodlarının bulunmasını istiyoruz.
<?php
interface AracInterface
{
public function Motor();
public function Vites();
public function Yakit();
}
Gördüğünüz gibi bir interface oluşturduk peki diceksiniz public function Motor(); yazdık ama neden bunun içeriği yok . interfacelerde içerik bulunmaz bu yapılar bize implements ettiğimiz classlarda mutlaka bu tanımlanan methodların bulunması gerektiğini anlatırlar. Bu methodlar parametre de alabilir burada biz parametre vermedik ama şöylede olabilirdi.
<?php
class AracInterface
{
public function Model($aracId);
}
Bu şekilde biz AracInterface isimli interfacemizde Model adında bir method oluşturup ve bunun $aracId adında bir parametre alması gerektiğini söylüyoruz. Buraya kadar herşey tamam peki şimdi biz bunu class'ımızda nasıl kullanıcaz . Hemen bir örnek ile bunu pekiştirelim.
<?php
class Arac implements AracInterface
{
}
Bu şekilde oluşturduğumuz interface'yi implements sözcüğü ile class'ımıza dahil edebiliyoruz. Eğerki PhpStorm gibi ide kullanıyorsanız ide size otomatik bir uyarı çıkaraktır. Bu uyarının içeriğide şöyle olacaktır.Sen AracInterface isimli interfaceyi dahil ettin ama bu interface içindeki methodları class ın içerisinde tanımlamadın diyecektir.O yüzden class ımızın içeriği şu şekilde olmalıdır.
<?php
class Arac implements AracInterface
{
public function Motor()
{
}
public function Vites()
{
}
public function Yakit()
{
}
}
Bu sayede belirttiğimiz kurallara uygun bir yapı kurmuş olduk.Buraya kadar okuduysanız aklınızda en azından bir fikir oluştuğunu varsayıyorum.
Yazar Özeti : Interface'ler bizim daha düzenli bir kod yazmamızı sağlıyor.Interface ile bir class'ın hangi değerleri alması gerektiğini görebiliyoruz.Mutlaka her yazılımımızda kullanmamız gereken bir nesne arayüzüdür.
Yorumlar: