Méthodes
Fait partie de la section Programmation Orientée Objet du Journey Dart de Coddy — leçon 6 sur 110.
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 :
class Calculator {
void greet() {
print('Hello! I am a calculator.');
}
int add(int a, int b) {
return a + b;
}
int multiply(int x, int y) {
int result = x * y;
print('$x x $y = $result');
return result;
}
}Les signatures de méthode en Dart incluent toujours un type de retour. Utilisez void lorsque la méthode ne retourne rien.
Créez un objet calculatrice :
Calculator myCalc = Calculator();Appelez une méthode qui ne nécessite aucun paramètre :
myCalc.greet();Appelez des méthodes avec des paramètres et capturez la valeur de retour :
int sumResult = myCalc.add(5, 3);
print(sumResult);Appelez une méthode qui à la fois affiche et retourne une valeur :
int product = myCalc.multiply(4, 7);Sortie :
Hello! I am a calculator.
8
4 x 7 = 28Les méthodes peuvent :
- Avoir un type de retour comme
int add(int a, int b) - Retourner des valeurs en utilisant
return - Afficher la sortie directement en utilisant
print() - Être
voidlorsqu'elles ne retournent rien
Point clé : Appelez des méthodes sur des objets en utilisant l'opérateur point : object.methodName(args).
Défi
FacileCréez une classe BankAccount dans bank_account.dart avec :
- Une variable d'instance
double balanceinitialisée à0 - Une méthode
depositqui prend undouble amountet l'ajoute àbalance - Une méthode
withdrawqui prend undouble amountet le soustrait debalance - Une méthode
getBalancequi retourne lebalanceactuel
Ensuite, dans driver.dart, créez un compte, déposez 100, retirez 30, et affichez le solde au format : 'Current balance: $[balance]'
Essayez vous-même
import 'bank_account.dart';
void main() {
BankAccount myAccount = BankAccount();
myAccount.balance = 0;
// TODO: Déposer 100
// TODO: Retirer 30
// TODO: Afficher le solde au format : 'Current balance: $[balance]'
// Astuce : utilisez .toInt() sur le solde pour un affichage propre
}
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 externesBibliothèques et importsIntroduction à la POOClasses vs ObjetsLe mot-clé thisMéthodesVariables d'instanceBases des constructeursRécapitulatif - Calculatrice simple4Null Safety
Introduction à la Null SafetyNullable vs Non-NullableLes opérateurs ? et !Le mot-clé late et la Null SafetyLes opérateurs Null-AwareLa Null Safety dans les classesRécapitulatif - Système de profil utilisateur7Classes abstraites et Interfaces
Classes abstraitesMéthodes abstraitesInterfaces en DartInterfaces implicitesImplémentation vs ExtensionInterfaces multiplesRécapitulatif - Calculateur de formes10Collections et Génériques
Aperçu des List, Set et MapCollections Type-SafeClasses génériquesMéthodes génériquesContraintes de généricitéIterable & IteratorRécapitulatif - Stockage générique2Les constructeurs en Dart
Constructeur par défautConstructeurs nommésListes d'initialisationConstructeurs constantsConstructeurs factoryConstructeurs de redirectionRécapitulatif - Shape Builder5Encapsulation
Membres publics vs privésLa convention du préfixe _Visibilité au niveau de la bibliothèqueApprofondissement des Getters & SettersMasquage d'informationsRécapitulatif - Dossiers d'étudiants8Mixins
Introduction aux MixinsCréation de MixinsUtilisation de plusieurs MixinsLe mot-clé on dans les MixinsMixin vs HéritageMixin vs InterfaceRécapitulatif - Système Animal11Méthodes spéciales
Redéfinition de toString()Redéfinition de hashCode & ==Interface ComparableMéthode call()Redéfinition de noSuchMethodRécapitulatif - Collection personnalisée14Patrons de conception Partie 1
Introduction aux patrons de conceptionPatron SingletonPatron FabriquePatron ObservateurPatron Stratégie3Propriétés de classe
Membres d'instance vs statiquesChamps Final & ConstVariables LateMéthodes et champs statiquesGetters et SettersRécapitulatif - Gestionnaire de compte bancaire6Héritage
Bases de l'héritageLe mot-clé superRedéfinition de méthodeL'annotation @overrideLe mot-clé final pour les classesConstructeurs et héritageRécapitulatif - Hiérarchie des employés9Polymorphisme
Bases du polymorphismePolymorphisme via les interfacesVérification de type à l'exécutionLes opérateurs is & asMot-clé covariantRécapitulatif - Processeur de paiement12POO Asynchrone
Futures & async/awaitBases des StreamsStream ControllersConstructeurs asynchronesL'asynchrone dans les méthodes de classeRécapitulatif - Data Fetcher15Patrons de conception Partie 2
Patron CommandePatron AdaptateurPatron DécorateurPatron Méthode ModèlePatron ÉtatPatron CompositePatron Repository