Méthodes
Fait partie de la section Programmation Orientée Objet du Journey PHP de Coddy — leçon 5 sur 91.
Les méthodes sont des fonctions qui appartiennent à une classe. Elles définissent les comportements ou les actions que les objets peuvent effectuer.
Voici un exemple d'une classe avec des méthodes :
<?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;
}
}Créez un objet calculatrice :
$myCalc = new Calculator();Appelez une méthode qui ne nécessite pas de paramètres :
$myCalc->greet();Appeler des méthodes avec des paramètres :
$sumResult = $myCalc->add(5, 3);
echo $sumResult . "\n";Appelez une méthode qui à la fois affiche et retourne une valeur :
$product = $myCalc->multiply(4, 7);Résultat :
Hello! I'm a calculator.
8
4 × 7 = 28Les méthodes peuvent :
- Prendre des paramètres comme
add($a, $b) - Retourner des valeurs comme
return $a + $b;
- Afficher la sortie directement comme
echo "Hello!"; - Effectuer à la fois l'affichage et le retour
Point clé : Les méthodes définissent ce que vos objets peuvent faire. Utilisez les mots-clés public function pour définir une méthode à l'intérieur d'une classe. Appelez les méthodes en utilisant l'opérateur -> sur un objet.
Défi
FacileCréez une classe BankAccount dans bank_account.php avec :
- Une propriété
public $balance - Une méthode
depositqui prend un montant et l'ajoute au solde - Une méthode
withdrawqui prend un montant et le soustrait du solde - Une méthode
getBalancequi retourne le solde actuel
Ensuite, dans driver.php, créez un compte avec un solde de 0, déposez 100 $, retirez 30 $ et affichez le solde au format : "Current balance: $[balance]"
Aide-mémoire
Les méthodes sont des fonctions qui appartiennent à une classe et définissent les comportements ou les actions que les objets peuvent effectuer.
Définissez des méthodes à l'intérieur d'une classe en utilisant public function :
<?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;
}
}Appelez des méthodes en utilisant l'opérateur -> sur un objet :
$myCalc = new Calculator();
$myCalc->greet();
$sumResult = $myCalc->add(5, 3);
$product = $myCalc->multiply(4, 7);Les méthodes peuvent :
- Prendre des paramètres :
add($a, $b) - Retourner des valeurs :
return $a + $b; - Afficher une sortie :
echo "Hello!"; - Faire à la fois l'affichage et le retour
Essayez vous-même
<?php
require_once 'bank_account.php';
$myAccount = new BankAccount();
$myAccount->balance = 0;
// TODO: Déposer 100
// TODO: Retirer 30
// TODO: Afficher le solde au format : "Current balance: $[balance]"
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Programmation Orientée Objet
1Les bases de la POO
Fichiers externesIntroduction à la POOClasses vs ObjetsLe mot-clé $thisMéthodesPropriétésConstructeur (__construct)Destructeur (__destruct)Récapitulatif - Calculatrice simple4Héritage
Héritage de baseLe mot-clé parent::Redéfinition de méthodeLe mot-clé finalClasses abstraitesRécapitulatif - Hiérarchie des employés7Encapsulation
Public, Protégé, PrivéModificateurs d'accès en détailGetters et SettersMasquage d'informationPromotion de constructeur (8.0)Récapitulatif - Système de gestion d'étudiants10Concepts avancés de la POO
Composition vs HéritageInjection de dépendancesClasses anonymesÉnumérations (PHP 8.1)Fibers (PHP 8.1)Clonage d'objets : analyse approfondieGénérateurs et Itérateurs13Patrons de conception Partie 2
Patron CommandePatron AdaptateurPatron DécorateurPatron Méthode ModèlePatron ÉtatPatron CompositePatron Repository2Espaces de noms et Autoloading
Introduction aux espaces de nomsLe mot-clé useStandard d'Autoloading PSR-4L'Autoloader ComposerRécapitulatif - Projet organisé5Interfaces et Contrats
Introduction aux InterfacesImplémentation d'InterfacesImplémentation d'Interfaces MultiplesInterface vs Classe AbstraiteType Hinting avec les InterfacesRécapitulatif - Calculateur de Formes8Méthodes magiques
Introduction aux méthodes magiques__toString & __debugInfo__get, __set, __isset, __unset__call & __callStatic__clone & Clonage d'objets__serialize & __unserializeRécapitulatif - Collection personnalisée3Propriétés de classe
Propriétés d'instance vs Propriétés statiquesConstantes dans les classesMéthodes et propriétés statiquesPropriétés privées et protégéesPropriétés readonly (PHP 8.1)Récapitulatif - Gestionnaire de compte bancaire6Polymorphisme
Retour sur la redéfinition de méthodePolymorphisme via les interfacesType Hinting et Types d'unionLiaison statique tardiveRécapitulatif - Processeur de paiement9Traits
Introduction aux TraitsUtilisation de plusieurs TraitsRésolution des conflits de TraitsMéthodes abstraites dans les TraitsTraits vs Héritage12Patrons de conception Partie 1
Introduction aux patrons de conceptionPatron SingletonPatron FabriquePatron ObservateurPatron Stratégie