PHP Dersleri | Php ile Nesne Yönelimli Programlama (OOP)

PHP Dersleri | Php ile Nesne Yönelimli Programlama (OOP)

Merhaba arkadaşlar mobilhanem.com için hazırladığımız php eğitimlerimizde artık nesne yönelimli programlamaya (Object Oriented Programming) giriş yapıyoruz. Php esnek bir dil olduğu için bu güne kadarki örneklerimizi nesne kullanmadan örneklerimizi yaptık. Şimdi nedir bu nesne yönelimli programlama ona bakalım.

Nesne Yönelimli Programlama

Nesne yönelimli programlama sadece php için değil neredeyse bütün dillerde olan bir yapıdır. Yazdığımız kodlarımızı nesne olarak tanımlamak kodumuzun okunabilirliğini performansını olumlu yönde etkiler.  Nesne yönelimli programlamada bazı temel yapılar vardır. Basit bir sınıf oluşturarak  bu temel yapılara kısaca değinelim.

“;
$this->setMarka($marka);
$this->setPlaka($plaka);
}
// Sınıf dışından erişilebilen method
public function arabaBilgileriniGoster() {
echo ‘Araba Markası:’.$this->marka.

Araba Plakası:”.$this->plaka;
}
// sadece sınıf içerisinden erişilebilen methodlar.
private function setMarka($marka) {
$this->marka = $marka;
}
private function setPlaka($plaka) {
$this->plaka = $plaka;
}

}
$araba1 = new Araba(“Audi”,”25 VA 025″);

$araba1->arabaBilgileriniGoster();
echo “


“;
$araba2 = new Araba(“BMV”,”25 mobilhanem 025″);
$araba2->arabaBilgileriniGoster();

?>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

 

class Araba {

// sadece sınıf içerisinden erişilebilen değişkenler. Private olduğu için

private $marka;

private $plaka;

// sınıfın dışından da erişilebilen değişkenler. Public olduğu için

public $arabaSahibi;

// Yapıcı Method

public function __construct($marka,$plaka) {

echo “Yeni araba nesnesi oluşturuldu.
;

$this->setMarka($marka);

$this->setPlaka($plaka);

}

// Sınıf dışından erişilebilen method

public function arabaBilgileriniGoster() {

echo ‘Araba Markası:’.$this->marka.


Araba Plakası:”
.$this->plaka;

}

// sadece sınıf içerisinden erişilebilen methodlar.

private function setMarka($marka) {

$this->marka = $marka;

}

private function setPlaka($plaka) {

$this->plaka = $plaka;

}

}

$araba1 = new Araba(“Audi”,“25 VA 025”);

 

$araba1->arabaBilgileriniGoster();

echo


;

$araba2 = new Araba(“BMV”,“25 mobilhanem 025”);

$araba2->arabaBilgileriniGoster();

 

?>

Nesne Yönelimli Programlamada Kullanılan Özellikler

Sınıf (Class):  Sınıf dediğimiz yapı bizim nesnemizin yapı taşını oluşturur. Sınıf içerisinde nesneye ait özellikler ve nesnenin yapabileceği işlevler yazılır. Yukarıdaki örneğimizde araba markası ve plakası bizim özelliğimiz, arabaBilgileriniGoster() bizim nesnemizin yapabildiği işlevlerden biridir.

private: private anahtar kelimesi bizim değişken veya methodumuza sınıfın dışından  erişilmesini engeller. Bu engellemenin  temel sebebi güvenlik açığı oluşmasını engellemektir. Örneğin bizim sınıfımızda aracın plakasına dışarıdan müdahale edilmesi sistem zaafiyeti olacağından plakayı sadece sınıf içerisinden erişilebilir bir değişken yaptık.

public: public anahtar kelimesi değişken veya methoda sınıf dışından da erişilebilmesini sağlar.

__construct: Nesne yönelimli programlamada özel methodlardan biridir. Bir sınıf başlatıldığında ilk çağırılan methoddur yapıcı method da denir. __construct methodu yerine sınıfın adı yazılarakta kullanılabilir. yapıcı method içerisinde sınıfın çalışması için başlangıç ayarları yapılır. ilk değişken atamaları, sınıf çalışmaya başlarken yapılacak işlemler burada yapılır. Bir sınıfın birden fazla yapıcı methodu olabilir. Bu methodlar parametre sayısına göre birbirinden ayrılır.

protected: protected anahtar kelimesi ise sınıfa ait değişken veya methodların o sınıftan türetilen sınıflarda kullanılabilmesini sağlar. private anahtar kelimesindeki gibi sınıf dışından erişime izin verilmez. protected anahtar kelimesi kalıtım yaptığımız zamanlarda kullanılır. ilerleyen zamanlarda kalıtım konusuna da değineceğiz.

new:  new anahtar kelimesi ise sınıftan yeni bir nesne oluşturmak için kullanılır. örneğin new Araba(); gibi.

$this: Bir sınıfa ait değişken veya methoda sınıf içerisinden erişmemizi sağlar. $this değişkeni bizim sınıfımızı ifade eder.

Sınıflarla alakalı temel özellikleri öğrendik ama öğreneceğimiz daha birçok özellik var. Bu özellikleri ilerleyen derslerimizde yine görmeye devam edeceğiz.

Şimdi yukarıdaki örneğimizi çalıştıralım. Aşağıdaki gibi bir çıktı alacağız.

Yeni araba nesnesi oluşturuldu.
Araba Markası:Audi
Araba Plakası:25 VA 025

Yeni araba nesnesi oluşturuldu.
Araba Markası:BMV
Araba Plakası:25 mobilhanem 025

Yeni araba nesnesi oluşturuldu.

Araba Markası:Audi

Araba Plakası:25 VA 025

 

Yeni araba nesnesi oluşturuldu.

Araba Markası:BMV

Araba Plakası:25 mobilhanem 025

Burada dikkat etmemiz gereken sınıftan nesne oluştururken yapıcımızda verdiğimiz parametreleri nesne oluştururken kullanmamızdır. örneğin bizim yapıcımızda iki değişken vardı yeni nesne oluştururken de sınıfa parametre olarak iki parametre girdik.

Sınıfımızı bir kere yazdıktan sonra o sınıftan istediğimiz kadar nesne oluşturabiliriz.

Nesne yönelimli programlama hakkında temel bilgileri artık öğrenmiş olduk. Bir sonraki dersimizde görüşmek üzere 🙂

 

Konuyla ilgili yorumlarınızı konu altından yapabilirsiniz, ayrıca sorularınızı yine konu altından ve Mobilhanem Soru&Cevap bölümünden sorabilirsiniz.

Tüm php dersleri için tıklayınız..

 

 

 

19

Yorum Yap
0 Yorum yapan