Bu Blogda Ara

12 Temmuz 2010 Pazartesi

Php ve Sınıf (Class) Temelleri

Temelleri
sınıf

Her sınıf tanımı kelime sınıfı ile takip PHP bir sözcük değil herhangi bir ad olabilir bir sınıf ismi, başlar. sınıflar üyeleri ve yöntemlerin tanımı içeren küme parantezi, bir çift izledim. A sözde değişken $ this bir yöntem bir nesne kapsamında çağrıldığı zaman mevcuttur. $ This çağıran nesne (genellikle yöntem ait nesnenin referansını, ancak yöntem statik ikincil bir nesnenin bağlamdan denir başka bir nesne olabilir). Bu aşağıdaki örnek gösterilmiştir:

Örnek 1 $ this değişkeni nesne yönelimli dil
A sınıfı
(
fonksiyonu foo ()
(
(Isset ($ this)) (if
'$ This (' tanımlanmıştır echo;
get_class (echo $ this);
")" \ N echo;
) Else (
echo "\ $ this tanımlanmış değildir. \ n";
)
)
)

sınıf B
(
fonksiyonu bar ()
(
A:: foo ();
)
)

$ A = new A ();
$ A-> foo ();
A:: foo ();
$ B = new B ();
$ B-> bar ();
B:: bar ();
?>

Yukarıdaki örneğin çıktısı:

$ This (tanımlanan)
$ This tanımlanmış değildir.
$ This (tanımlanmaktadır b)
$ This tanımlanmış değildir.




Örnek 2 Basit sınıf tanımı
sınıf SimpleClass
(
/ / Member deklarasyon
$ Var kamu = 'varsayılan bir değer';

/ / Yöntem bildirimi
fonksiyonu displayVar () (public
$ This-> var echo;
)
)
?>

Varsayılan değer sabit bir ifade, (örneğin) bir değişken, bir sınıf üyesi veya bir işlev çağrısı olmalıdır.

Örnek 3 Sınıf üyelerinin varsayılan değeri
sınıf SimpleClass
(
/ / Geçersiz üye bildirimleri:
public $ var1 = 'merhaba'. 'dünya';
$ Var2 kamu = <<merhaba dünya
EOD;
$ Var3 = 1 2 halk;
$ Var4 = self kamu:: myStaticMethod ();
$ Var5 kamu = $ myVar;

/ / Geçerli üye bildirimleri:
$ Var6 = myConstant kamu;
$ Var7 = self kamu:: classConstant;
public $ var8 = array (true, false);


)
?>

Not: Bazı güzel fonksiyonları sınıflar ve nesneler kolu vardır. Siz Sınıf ve Nesne İşlevleri bakmak isteyebilirsiniz.

Yorumlu metinlerin aksine yorumsuz metinler herhangi bir duruk veri bağlamında kullanılabilir.

Örnek 4 Duruk veri örneği
sınıf foo (
/ / Gibi PHP 5.3.0 'dan itibaren
kamu $ bar = <<<'EOT'
bar
EOT;
)
?>

Not: Yorumlu metin desteği PHP 5.3.0 'da eklenmiştir.

yeni

Bir sınıfın yeni bir nesne örneğini oluşturmak için oluşturulması gerekir ve bir değişkene atanır. Bir nesneyi her zaman nesne hata bir istisna atar bir constructor tanımlı olmadığı sürece yeni bir nesne oluşturmak atanır. Sınıflar Destekleme önce (tanımlanmış olmalı ve bu bir gerekliliktir bazı durumlarda).

Örnek 5 örnek oluşturma
$ Örnek = new SimpleClass ();
?>

sınıf bağlamda, olası yeni bir benlik ve yeni anne-baba tarafından yeni bir nesne yaratmak.

Yeni bir değişkene bir sınıfın zaten oluşturulmuş örnek atayarak, yeni değişken atanan nesneyle aynı örneği erişir zaman. Bu davranış bir işleve örneğini geçen aynıdır. zaten oluşturulmuş olan nesnenin bir kopyası onu klonlama tarafından yapılabilir.

Örnek 6 Nesne Atama
$ Atanan = $ örnek;
$ Referans = & $ örnek;

$ Örnek-> var = '$ this değere sahiptir atanan';

$ Örnek = null; / / $ örnek ve $ referans null haline

var_dump ($ örnek);
var_dump ($ referans);
var_dump ($ atanmış);
?>

Yukarıdaki örneğin çıktısı:

NULL
NULL
nesne (SimpleClass) # 1 (1) (
["Var"] =>
string (30) "$ this değere sahiptir atanan"
)




uzatır

A sınıfı yöntemleri ve başka bir sınıfın üye bildiriminde anahtar uzanan kullanarak devralabilir. Mümkün çoklu derslere genişletmek için değil, bir sınıf sadece tek bir temel sınıf devralabilir.

Üst sınıf final gibi bir yöntem tanımlamıştır sürece miras yöntemleri ve üyeleri geçersiz, aynı adı ana sınıf tanımlanan onları redeclaring tarafından değiştirilebilir. Mümkün ebeveyn ile referans onlar tarafından geçersiz yöntemleri veya statik üyelerine erişmek için:

Örnek 7 Basit Sınıf Kalıtım
sınıf ExtendClass SimpleClass uzatır
(
/ / Redefine ana yöntem
fonksiyonu displayVar ()
(
echo "" class \ n uzatılması;
veli:: displayVar ();
)
)

$ = New ExtendClass () genişletilmiş;
$ Genişletilmiş-> displayVar ();
?>

Yukarıdaki örneğin çıktısı:

sınıf genişletme
varsayılan değer

Hiç yorum yok:

Yorum Gönder