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]"
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
1Fondamentaux de la POO
Fichiers externesIntroduction à la POOClasses et objetsLe mot-clé $thisMéthodesPropriétésConstructeur (__construct)Destructeur (__destruct)Récapitulatif - Calculatrice simple4Héritage
Héritage de baseLe mot-clé parent::Redéfinition des méthodesLe mot-clé finalClasses abstraitesRécapitulatif – Hiérarchie des employés7Encapsulation
Public, Protected, PrivateModificateurs d’accès en profondeurAccesseurs et mutateursDissimulation de l’informationPromotion des constructeurs (8.0)Récapitulatif – Système de fiches étudiant10Concepts avancés de la POO
Composition ou héritageInjection de dépendancesClasses anonymesÉnumérations (PHP 8.1)Fibres (PHP 8.1)Approfondissement du clonage d’objetsGénérateurs et itérateurs13Patrons de conception – Partie 2
Patron CommandePatron AdaptateurPatron DécorateurPatron Méthode modèlePatron ÉtatPatron CompositePatron Dépôt2Espaces de noms et chargement automatique
Introduction aux espaces de nomsLe mot-clé useNorme de chargement automatique PSR-4Autoloader de ComposerRécapitulatif - Projet organisé5Interfaces et contrats
Introduction aux interfacesImplémentation des interfacesImplémentation de plusieurs interfacesInterface ou classe abstraiteIndication de type avec les interfacesRécapitulatif - Calculateur de formes8Méthodes magiques
Introduction aux méthodes magiques__toString et __debugInfo__get, __set, __isset, __unset__call et __callStatic__clone et clonage d’objets__serialize et __unserializeRécapitulatif - Collection personnalisée3Propriétés de classe
Propriétés d’instance vs statiquesConstantes dans les classesMéthodes et propriétés statiquesPropriétés privées et protégéesPropriétés en lecture seule (PHP 8.1)Récapitulatif - Gestionnaire de comptes bancaires6Polymorphisme
Révision de la redéfinition des méthodesPolymorphisme via les interfacesAnnotations de type et types unionLiaison statique tardiveRécapitulatif - Processeur de paiements9Traits
Introduction aux traitsUtilisation de plusieurs traitsRésolution des conflits entre traitsMéthodes abstraites dans les traitsTraits par rapport à l’héritage12Patrons de conception – Partie 1
Introduction aux patrons de conceptionPatron SingletonPatron FactoryPatron ObserverPatron StrategyEntraînez-vous par vous-même : Compilateur PHP en ligne