Metotlar
Coddy'nin PHP Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası — ders 5 / 91.
Metotlar, bir sınıfa ait olan fonksiyonlardır. Nesnelerin gerçekleştirebileceği davranışları veya eylemleri tanımlarlar.
İşte metotları olan bir sınıf örneği:
<?php
class Calculator {
public function greet() {
echo "Hello! I'm a calculator.\n";
}
public function add($a, $b) {
return $a + $b;
}
public function multiply($x, $y) {
$result = $x * $y;
echo $x . " × " . $y . " = " . $result . "\n";
return $result;
}
}Bir hesap makinesi nesnesi oluşturun:
$myCalc = new Calculator();Parametre gerektirmeyen bir metodu çağırın:
$myCalc->greet();Metotları parametrelerle çağırın:
$sumResult = $myCalc->add(5, 3);
echo $sumResult . "\n";Hem yazdıran hem de bir değer döndüren bir metodu çağırın:
$product = $myCalc->multiply(4, 7);Çıktı:
Hello! I'm a calculator.
8
4 × 7 = 28Metotlar şunları yapabilir:
add($a, $b)gibi parametreler alabilirreturn $a + $b;gibi değerler döndürebilir
- Çıktıyı doğrudan
echo "Hello!";gibi yazdırın - Hem yazdırma hem de döndürme işlemlerini yapın
Önemli Nokta: Metotlar, nesnelerinizin neler yapabileceğini tanımlar. Bir sınıf içinde metot tanımlamak için public function anahtar kelimelerini kullanın. Bir nesne üzerindeki metotları -> operatörünü kullanarak çağırın.
Görev
Kolaybank_account.php dosyasında şunları içeren bir BankAccount sınıfı oluşturun:
- Bir
public $balanceözelliği - Bir miktar alan ve bunu bakiyeye ekleyen bir
depositmetodu - Bir miktar alan ve bunu bakiyeden çıkaran bir
withdrawmetodu - Mevcut bakiyeyi döndüren bir
getBalancemetodu
Ardından driver.php dosyasında, bakiyesi 0 olan bir hesap oluşturun, $100 yatırın, $30 çekin ve bakiyeyi şu formatta yazdırın: "Current balance: $[balance]"
Kopya kağıdı
Metotlar, bir sınıfa ait olan ve nesnelerin gerçekleştirebileceği davranışları veya eylemleri tanımlayan fonksiyonlardır.
Bir sınıf içinde metotları public function kullanarak tanımlayın:
<?php
class Calculator {
public function greet() {
echo "Hello! I'm a calculator.\n";
}
public function add($a, $b) {
return $a + $b;
}
public function multiply($x, $y) {
$result = $x * $y;
echo $x . " × " . $y . " = " . $result . "\n";
return $result;
}
}Bir nesne üzerinde -> operatörünü kullanarak metotları çağırın:
$myCalc = new Calculator();
$myCalc->greet();
$sumResult = $myCalc->add(5, 3);
$product = $myCalc->multiply(4, 7);Metotlar şunları yapabilir:
- Parametre alabilir:
add($a, $b) - Değer döndürebilir:
return $a + $b; - Çıktı yazdırabilir:
echo "Hello!"; - Hem yazdırma hem de döndürme işlemlerini aynı anda yapabilir
Kendin dene
<?php
require_once 'bank_account.php';
$myAccount = new BankAccount();
$myAccount->balance = 0;
// TODO: 100 yatır
// TODO: 30 çek
// TODO: Bakiyeyi şu formatta yazdır: "Current balance: $[balance]"
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Nesne Yönelimli Programlama bölümündeki tüm dersler
1OOP Temelleri
Harici DosyalarOOP'ye GirişSınıflar ve Nesneler$this Anahtar KelimesiMetotlarÖzelliklerYapıcı Metot (__construct)Yıkıcı Metot (__destruct)Özet - Basit Hesap Makinesi4Kalıtım
Temel Kalıtımparent:: Anahtar KelimesiMetot Geçersiz Kılmafinal Anahtar KelimesiSoyut SınıflarÖzet - Çalışan Hiyerarşisi7Kapsülleme
Public, Protected, PrivateErişim Belirleyicilere Derinlemesine BakışGetter ve Setter MetotlarıBilgi GizlemeConstructor Promotion (8.0)Özet - Öğrenci Kayıt Sistemi10İleri Düzey OOP Kavramları
Kompozisyon vs KalıtımDependency InjectionAnonim SınıflarEnum'lar (PHP 8.1)Fiber'lar (PHP 8.1)Nesne Klonlama: Derinlemesine İncelemeGenerator'lar ve Iterator'lar13Tasarım Kalıpları Bölüm 2
Komut KalıbıAdaptör KalıbıDekoratör KalıbıŞablon Metot KalıbıDurum KalıbıKompozit KalıbıRepository Kalıbı2İsim Alanları ve Autoloading
İsim Alanlarına Girişuse Anahtar KelimesiPSR-4 Autoloading StandartıComposer AutoloaderÖzet - Düzenli Proje5Arayüzler ve Sözleşmeler
Arayüzlere GirişArayüzleri UygulamaBirden Fazla Arayüz UygulamaArayüz vs Soyut SınıfArayüzler ile Tip BelirlemeÖzet - Şekil Hesaplayıcı8Sihirli Metotlar
Sihirli Metotlara Giriş__toString & __debugInfo__get, __set, __isset, __unset__call & __callStatic__clone & Nesne Klonlama__serialize & __unserializeÖzet - Özel Koleksiyon3Sınıf Özellikleri
Örnek ve Statik ÖzelliklerSınıflarda SabitlerStatik Metotlar ve ÖzelliklerPrivate ve Protected ÖzelliklerReadonly Özellikler (PHP 8.1)Özet - Banka Hesabı Yöneticisi6Çok Biçimlilik
Metot Geçersiz Kılmaya Yeniden BakışArayüzler ile Çok BiçimlilikType Hinting ve Union TypesLate Static BindingÖzet - Ödeme İşlemcisi9Trait'ler
Trait'lere GirişÇoklu Trait KullanımıTrait Çakışma ÇözümüTrait'lerde Soyut MetotlarTrait'ler ve Kalıtım12Tasarım Kalıpları Bölüm 1
Tasarım Kalıplarına GirişSingleton KalıbıFactory KalıbıObserver KalıbıStrategy Kalıbı15Final Meydan Okumaları
E-Öğrenme PlatformuBankacılık SistemiOyun Karakteri GeliştirmeAraç Kiralama Servisi