PHP İleri Seviye Görsel Ders PHP OOP 1 Giriş
25
●4.853
- 08-09-2009, 10:11:19Kimlik doğrulama veya yönetimden onay bekliyor.Şurası karıştırılmasın
var $yazi1;
var $yazi2;
function metin($yazi1,$yazi2)
fonksiyonda istenen değişkenler ile sınıf içinde tanımlanan değişkenler birbirinden tamamen farklıdır.
Birisi sınıf içinde public değer anahtarı atanmış bir değişkendir bir nevi sınıf içinde global tanımlanmış bir değişkendir ve sınıfın her yerinden $this->yazi1 gibi bir ifade erişebilirsiniz diğeri ise sadece fonksiyonun aldığı değeri işaret eden değişkendir. Yani
function metin($yazi1,$yazi2)
{
echo $this->yazi1.'<br>'.$this->yazi2;
}
size fonksiyona girilen parametreleri değil sınıf içinde set edilmiş yazi1 ve yazi2 değişkenlerin içeriklerini döndürür.
class ornek { public $yazi1 = 'yusuf'; public $yazi2 = 'koç'; public function metin($yazi1,$yazi2) { echo 'Bu Değerler Sınıf içinde Set Edilmiş Değişkenlerin İçeriği: <br>'; echo $this->yazi1.'<br>'; echo $this->yazi2.'<br><br>'; echo 'Bu Değerler Fonksiyona Verilmiş Değişkenlerin İçeriği: <br>'; echo $yazi1.'<br>'; echo $yazi2.'<br><br>'; } } $ornek = new ornek; $ornek->metin('deneme','teneke'); - 08-09-2009, 10:30:09Üyeliği durduruldubende oop anlatmak için plan yapiyordum ama daha konu listesini bile çıkarabilecek kadar aklımda şekillendirebilmiş degilim. autoload file anlatmak lazim çünkü
ellerine dillerine saglik
- 08-09-2009, 10:39:16Public değişkenlere class dışındanda ulaşılıp değerleri değiştirilebilir, class içindende ulaşılabilir, uye fonksyonlar aracılıyla
Private değişkenlere ise sadece class içindeki uye fonksyonlar erişebilir,class dışından ulaşılmasını istemedğimiz değişkenleri private tanımlarız, boylece dışarda yapılacak istenmeyen sistemin dengesini değiştirecek değişiklikler önlenmiş olur, nesneye dayalı programlamanın bir kolaylıgıda budur data hiding
Protected tek classda kullanimi itibariyle private'a benzesede bazı farkları vardır, Private değişkenlere uye fonksyonlara türetilmiş classlardan erişim olmaz tam guvenlidir fakat protected değişkenlere class'ınızdan yeni bir class türeterek ulaşılabilir, buda türetme derive etme olayıda oop'un getirdiği kolaylıklardan biridir devir miras kalıtım anlamında inheritance kelimesi kullanilir
Uye fonksyonlar ise class'in içimde tanımlanmış fonksyonlardır bunlarda private veya public olarak tanımlanabilirler, private olanlara sadece class içinden diğer uye fonksyonlar aracılığı ile ulaşılır cağırılır, public olanlara ise nesne aracılığı ile direkt ulaşılabilir çağırılabilir. - 08-09-2009, 11:07:55Protected varda phpde varmı tam emin deildim ondan yazmadım

Protected tek classda kullanimi itibariyle private'a benzesede bazı farkları vardır, Private değişkenlere uye fonksyonlara türetilmiş classlardan erişim olmaz tam guvenlidir fakat protected değişkenlere class'ınızdan yeni bir class türeterek ulaşılabilir, buda türetme derive etme olayıda oop'un getirdiği kolaylıklardan biridir devir miras kalıtım anlamında inheritance kelimesi kullanilir
- 08-09-2009, 11:08:56class ile object arasındaki ilişkiyi anlatan java örnegi
Bisiklet sınıfı tanımlanıyor, 3 adet baslangıc özelligi veriliyor ve fonksiyonlar belirtiliyor.
class Bicycle {
int cadence = 0;
int speed = 0;
int gear = 1;
void changeCadence(int newValue) {
cadence = newValue;
}
void changeGear(int newValue) {
gear = newValue;
}
void speedUp(int increment) {
speed = speed + increment;
}
void applyBrakes(int decrement) {
speed = speed - decrement;
}
void printStates() {
System.out.println("cadence:"+cadence+" speed:"+speed+" gear:"+gear);
}
}
Daha sonra 2 adet Bycycle sınıfından bike1 ve bike2 adında bisiklet objesi(nesnesi) oluşturuluyor.
class BicycleDemo {
public static void main(String[] args) {
Bicycle bike1 = new Bicycle();
Bicycle bike2 = new Bicycle();
// Invoke methods on those objects
bike1.changeCadence(50);
bike1.speedUp(10);
bike1.changeGear(2);
bike1.printStates();
bike2.changeCadence(50);
bike2.speedUp(10);
bike2.changeGear(2);
bike2.changeCadence(40);
bike2.speedUp(10);
bike2.changeGear(3);
bike2.printStates();
}
}
Kısacası sınıflarla özellikleri tanırsınız. Mesela otomobil'in standart özellikleri vardır. 4 tekeri olması, vitesi, motoru gibi. Fakat birbirlerinden ayrılan özellikleri bunların üstüne oluşur. Birinin lastiği kaliteli, motoru v8 olabilir. Diğeri ise normal bir lastik v4 motor olabilir.
İşte nesne farkı budur. Yani standart gelen şeyler üzerine spesifik tanımlar katmak ve bunları kullanmak.