Metody
Część sekcji Programowanie obiektowe ścieżki Dart w Coddy. Lekcja 6 z 110.
Metody to funkcje należące do klasy. Określają zachowania lub działania, które mogą wykonywać obiekty.
Oto przykład klasy z metodami:
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;
}
}Sygnatury metod w Dart zawsze zawierają typ zwracany. Użyj void, gdy metoda niczego nie zwraca.
Utwórz obiekt kalkulatora:
Calculator myCalc = Calculator();Wywołaj metodę, która nie wymaga żadnych parametrów:
myCalc.greet();Wywołuj metody z parametrami i przechwytuj zwracaną wartość:
int sumResult = myCalc.add(5, 3);
print(sumResult);Wywołaj metodę, która zarówno wyświetla wartość, jak i ją zwraca:
int product = myCalc.multiply(4, 7);Wynik:
Hello! I am a calculator.
8
4 x 7 = 28Metody mogą:
- Mieć typ zwracany, taki jak
int add(int a, int b) - Zwracać wartości za pomocą
return - Bezpośrednio wyświetlać dane wyjściowe za pomocą
print() - Mieć typ
void, gdy niczego nie zwracają
Najważniejsza informacja: Wywołuj metody obiektów za pomocą operatora kropki: object.methodName(args).
Wyzwanie
ŁatwyUtwórz klasę BankAccount w pliku bank_account.dart z:
- Zmienną instancji
double balanceustawioną na0 - Metodą
deposit, która przyjmujedouble amounti dodaje ją dobalance - Metodą
withdraw, która przyjmujedouble amounti odejmuje ją odbalance - Metodą
getBalance, która zwraca bieżącebalance
Następnie w pliku driver.dart utwórz konto, wpłać 100, wypłać 30 i wyświetl saldo w formacie: 'Current balance: $[balance]'
Spróbuj swoich sił
import 'bank_account.dart';
void main() {
BankAccount myAccount = BankAccount();
myAccount.balance = 0;
// TODO: Wpłać 100
// TODO: Wypłać 30
// TODO: Wypisz saldo w formacie: 'Current balance: $[balance]'
// Wskazówka: użyj .toInt() na saldzie, aby uzyskać czytelny wynik
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Programowanie obiektowe
1Podstawy OOP
Pliki zewnętrzneBiblioteki i importyWprowadzenie do OOPKlasy a obiektySłowo kluczowe thisMetodyZmienne instancjiPodstawy konstruktorówPowtórka – prosty kalkulator4Bezpieczeństwo wartości null
Wprowadzenie do bezpieczeństwa wartości nullTypy dopuszczające null i niedopuszczające nullOperatory ? i !Słowo kluczowe late a bezpieczeństwo wartości nullOperatory uwzględniające nullBezpieczeństwo wartości null w klasachPodsumowanie — system profili użytkowników7Klasy abstrakcyjne i interfejsy
Klasy abstrakcyjneMetody abstrakcyjneInterfejsy w DartInterfejsy niejawneImplementowanie a rozszerzanieWiele interfejsówPowtórka — kalkulator kształtów10Kolekcje i typy generyczne
Przegląd List, Set i MapKolekcje bezpieczne typowoKlasy generyczneMetody generyczneOgraniczenia typów generycznychIterable i IteratorPowtórka — generyczne przechowywanie danych13Zaawansowane koncepcje OOP
Kompozycja a dziedziczenieMetody rozszerzająceKlasy wywoływalneKlasy zapieczętowane (Dart 3)Rekordy (Dart 3)Wzorce i dopasowywanie (3.0)Typy wyliczeniowe z metodami16Projekt: Zarządzanie biblioteką
Omówienie projektuKlasy książek i użytkowników2Konstruktory w Dart
Konstruktor domyślnyKonstruktory nazwaneListy inicjalizująceKonstruktory stałeKonstruktory fabryczneKonstruktory przekierowującePodsumowanie — budowanie kształtów5Hermetyzacja
Elementy publiczne a prywatneKonwencja prefiksu _Prywatność na poziomie bibliotekiGettery i settery — szczegółowoUkrywanie informacjiPodsumowanie — dane uczniów8Domieszki
Wprowadzenie do domieszekTworzenie domieszekKorzystanie z wielu domieszekSłowo kluczowe on w domieszkachDomieszka a dziedziczenieDomieszka a interfejsPodsumowanie – system zwierząt11Metody specjalne
Nadpisanie toString()Nadpisanie hashCode i ==Interfejs ComparableMetoda call()Nadpisanie noSuchMethodPodsumowanie — własna kolekcja14Wzorce projektowe, część 1
Wprowadzenie do wzorców projektowychWzorzec SingletonWzorzec FactoryWzorzec ObserverWzorzec Strategy3Właściwości klas
Elementy instancji a elementy statycznePola final i constZmienne inicjalizowane z opóźnieniemMetody i pola statyczneGettery i setteryPowtórzenie – menedżer kont bankowych6Dziedziczenie
Podstawy dziedziczeniaSłowo kluczowe superPrzesłanianie metodAdnotacja @overrideSłowo kluczowe final dla klasKonstruktory i dziedziczeniePowtórzenie – hierarchia pracowników9Polimorfizm
Podstawy polimorfizmuPolimorfizm za pomocą interfejsówSprawdzanie typu w czasie działaniaOperatory is i asSłowo kluczowe covariantPodsumowanie — procesor płatnościPoćwicz samodzielnie: Kompilator Dart online