Hoşgeldin Ziyaretçi



Konuyu Oyla:
  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
[Bilgi] Php Final Özelliği
#1
Php İle Class Özellikleri

Final özelliği atanmış bir metot veya sınıf son metot veya son sınıf olduğunu işaret eder yani kendisinden sonra herhangi bir başka metot veya sınıf gelemez anlamını taşımaktadır.

Örnek ;

Kod:
Kod:
view source
print?
01    < ?php
02    class a
03    {
04        private $isim = 'yusuf';
05        public final function isimGetir()
06        {
07            echo $this->isim;
08        }
09    }
10     
11    class b extends a
12    {
13        private $baska_isim = 'veli';
14     
15        public function isimGetir()
16        {
17            echo $this->baska_isim;
18        }
19    }
20     
21    $b = new b;
22    $b->isimGetir();
23    ?>


Bu örnekte a classının en son metodunun isimGetir() olduğu tanımlanmıştır ve bu metotdan sonra herhangi bir metot gelemeyecektir. Yani a sınıfından türeyen bir class da hiç bir şekilde isimGetir() metodu bulunamaz çünkü isimGetir() a sınıfının final metodur ve override (yok sayılarak yeniden aynı metot yazılamaz. (tamam tercümem biraz düşük oldu ) edilemez.

Bu örnek bize metot içindi birde sınıflar bir birleri arasında türetilirken artık son sınıf olduğunu belirtmemiz gerekebilir. Bunun için de class sözcüğünün başına final anahtarı getirilir.

Kod:
Kod:
view source
print?
01    < ?php
02    class a
03    {
04        public function aGetir()
05        {
06            echo 'Ben A sınıfıyım. ';
07        }
08    }
09     
10    class b extends a
11    {
12        public function bGetir()
13        {
14            echo 'Ben B sınıfıyım. ';
15        }
16    }
17     
18    final class c extends b
19    {
20        public function cGetir()
21        {
22            echo 'Ben C sınıfıyım ve benden sonra başka bir sınıf bana extends edilemez. ';
23        }
24    }
25     
26    $c = new c;
27    $c->aGetir();
28    $c->bGetir();
29    $c->cGetir();
30     
31    class d extends c
32    {
33        public function dGetir()
34        {
35            echo 'Ben D sınıfıyım.';
36        }
37    }
38     
39    $d = new d;
40    ?>


Bu örnek çalıştırıldığında c classı final anahtar sözcüğü atandığı için kendisinden hiç bir şekilde sınıf türetilemeyecek ve ekrana “Class d my not inherit from final class ©..” gibi şeklinde hata mesajı döndürecektir.
Cevapla
Teşekkür verenler:


Hızlı Menü:


Şu anda bu konuyu okuyanlar: 4 Ziyaretçi


10tl.net Destek Forumu -

Online Shopping App
Online Shopping - E-Commerce Platform
Online Shopping - E-Commerce Platform
Feinunze Schmuck Jewelery Online Shopping