arkadaşlar bundan 3 ay önce sanırım
konu acmıstım r10.nete
OOP hakkında Bilgi istemiştim pekde Faydalı Bilgiler Bulamamıştım O konuda belirtmiştim öğreneceğim bu işi diye ve öğrendiklerimi bu konu altında paylaşmak istedim
anlatımlarımdaki yalnışlarımı düzelten olursa sevinirim en azından daha net bilgiye varmış olurum

olumlu olumsuz yorumlarada açığım
öncelikle nesnel programlamada öğrenilmesi gerekenlerin başında gelen şey sınıf tanımlama ve çağırmadır

bu gibi anlatımları bazı arkadaşlar kendi bloglarında yayınlamış

bu yüzden bende başladığım yerden aktarmaya devam ediyorum
Fırsat Buldukca ve Yeni Öğreneceğim Terimlerin Açıklamalı örnekli Olarak kod Bloglarını ekleyeceğim
Not: Konuyu Sabitlendiği için Sdemirkeser ustaya Tşk ederim
Yalnışlarımı Düzeltin Lütfen arkadaşlar Public: Foknsiyona sınıf içinden ve sınıf dışından erişime izin verir.Ayrıca Kalıtım ile aktarılır.
Private: Bu erişim belirteci işaretlenen öğeye sadece sınıfın içinden erişilebileceği anlamına gelir.Ve bu öğeler kalıtım yoluyla aktarılmaz..
Protected:Bu erişim belirteci işaratelenen ögeye sadece sınıfın içinden erişilebileceği fakat alt sınıflara aktarılabileceği anlamına gelmektedir.
Extends:Eğer sınıfımız başka bir sınıfın alt sınıfı olacaksa extends anahtar sözcüğü ile aktarılır.
1 //Public Örneği
2 class sinifim {
3 public function yazdir(){
4 echo "Merhaba Dünya";
5 }
6 }
7 //Örnek 1
8 /*$yeni_sinif = new sinifim();
9 $yeni_sinif->yazdir();*/Gördüğünüz Gibi Fonksiyonumuza Dışarıdan Erişim Sağlayabiliyoruz...
şimdi private özelliğini kullanarak deneyelim
1 //Private Örneği
2 class sinifim {
3 private function yazdir(){
4 echo "Merhaba Dünya";
5 }
6 }
7 //Örnek 2
8 /*$yeni_sinif = new sinifim();
9 $yeni_sinif->yazdir();*/Fatal error: Cannot redeclare class sinifim in Böyle Bir Hata Aldık yani dışarıdan Erişim Yok
Şimdide Protected özelliğine gecelim
01 class sinifim {
02 protected function yazdir(){
03 echo "Merhaba Dünya";
04 }
05 }
06 class alt_sinif extends sinifim {
07 public function alt_metod(){
08 $this->yazdir();
09 }
10 }
11
12 //Örnek 3
13 /*$yeni_sinif = new alt_sinif();
14 $yeni_sinif ->alt_metod();*/Burada Görüldüğü üzere Sadece Alt Sınıf ta kullanabiliyoruz ama gelen degeri ekrana basamıyoruz
Extends nedir
Extends bir sınıfı genişletme anlamına gelir yani 2 adet sınıfımız var ama 1 tanesine sonradan eklenti yapmak istiyoruz
kullanımı
class sinif_2 Extends sinif_1{
}buradaki su anlama geliyor
sinif_2 sinif_1'in alt sınıfıdır ne işimize yarıyor
baska bir sınıfta iken direk ana sınıftaki
metodları ve özelikleri kullanbiliyoruz yeni özellikler eklemiş oluyorz
alt sınıfı cağırdıgımızda ana sınıfada aktarım yapabiliriz detaylı örnek
class sinifim {
var $deger;
protected function yazdir(){
echo "Merhaba Dünya Ben Ana Sınıftan Geliyorum <br>";
}
}
class alt_sinif extends sinifim {
public function alt_metod()
{
$this->yazdir();
}
public function iceriden (){
echo "Bende Alt Sınıftan Geliyorum";
}
}
//Örnek 4
$yeni_sinif = new alt_sinif();
//alt sınıfa bağlanarak üst sınıftaki methodu cağırdık
$yeni_sinif ->alt_metod();
//alt sınıfa bağlanarak içersindeki iceriden() methodunu cağırdık
$yeni_sinif->iceriden();
// Alt Sınıfı Çağırıyor ama üst sınıftaki özelliğe deger atıyoruz
$alt_siniftan_ana_sinifa_gonder = new alt_sinif();
$alt_siniftan_ana_sinifa_gonder->deger = "bakın burada ise alt sınıfı çağırıyor ama üst sınıfın özelliğine atama yapıyoruz"yani sınıfımızın herhangi bir sınıfa bağlı olacağını belirtir örnekteki gibi örnekte ne yaptık
sinifim isimli siniftan
alt_sinifim isimli sınıfa
yazdir() methodunu cektik
ve alt sınıfı çağırarak üst sınıftaki
$deger özelliğine atama yaptık umarım anlaşılır olmuştur arkadaşlar
Kaynak
__________________________________________________ _____________
__construct fonksiyonu arkadaşlar bir sınıf çağrıldıgında sınıftaki kod blogu işlemini yapmadan önce çalışmasını istediğimiz
metod'dur
örnek eger kullanıcı ismi doğru ise işleme başlasın değil ise işlemi durdursun
01 <?
02 class sinifim {
03 var $kullanici;
04 var $sifre;
05 public function __construct($user,$pass){//sınıf cağrıldıgında ilk çalışacak metod metodun çağrılmasına gerek yoktur default olarak çalışacaktır
06
07 $username = "bytrislasis"; // Kullanıcı Adımız
08 $password = "123456"; // şifremiz
09
10 if (($username == $user)and($password==$pass)) { // Gelen kullanıcı Adı ve Şifre Bizim Belirlediğimize Eşitmi diye bakıyoruz
11
12 $this->kullanici = $user; // Kullanıcı adı Eşit ise gelen degeri kullanıcı özelliğimize atıyoruz
13 $this->sifre = $pass; // şifre adı Eşit ise gelen degeri sifre özelliğimize atıyoruz
14
15 }else {// gelen degerler eşit değilse
16 echo "Kullanıcı Adınız veya Şifreniz Yalnış<br>";
17 exit;//Fonksiyonumuzu Burada Durduruyoruz
18 }
19
20 }
21 public function yazdir (){
22 echo "Kullanıcı Adınız :".$this->kullanici."<br>";
23 echo "Adınıza Ait Şifre:".$this->sifre."<br>";
24 }
25 }
26
27 $yeni = new sinifim("bytrislasis","123456");
28 $yeni->yazdir();//degerlerimiz doğru ise bu metod çalışacak değilse belirlediğimiz hata blogu gelecektir..
29 ?>Kaynak