Metotlar
Coddy'nin Dart Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası — ders 6 / 110.
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:
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;
}
}Dart'taki metot imzaları her zaman bir dönüş türü içerir. Metot hiçbir şey döndürmediğinde void kullanın.
Bir hesap makinesi nesnesi oluşturun:
Calculator myCalc = Calculator();Hiç parametre gerektirmeyen bir metodu çağırın:
myCalc.greet();Metotları parametrelerle çağırın ve dönüş değerini yakalayın:
int sumResult = myCalc.add(5, 3);
print(sumResult);Hem yazdıran hem de bir değer döndüren bir metodu çağırın:
int product = myCalc.multiply(4, 7);Çıktı:
Hello! I am a calculator.
8
4 x 7 = 28Metotlar şunları yapabilir:
int add(int a, int b)gibi bir dönüş türüne sahip olabilirreturnkullanarak değer döndürebilirprint()kullanarak doğrudan çıktı yazdırabilir- Herhangi bir şey döndürmediklerinde
voidolabilir
Önemli Nokta: Nokta operatörünü kullanarak nesneler üzerindeki metotları çağırın: object.methodName(args).
Görev
Kolaybank_account.dart dosyası içinde şu özelliklere sahip bir BankAccount sınıfı oluşturun:
0değerine ayarlanmış birdouble balanceörnek değişkeni- Bir
double amountalan ve bunubalancedeğişkenine ekleyen birdepositmetodu - Bir
double amountalan ve bunubalancedeğişkeninden çıkaran birwithdrawmetodu - Mevcut
balancedeğerini döndüren birgetBalancemetodu
Ardından driver.dart içinde 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ı tanımlayan fonksiyonlardır.
Metotları bir dönüş tipi ile tanımlayın. Metot hiçbir şey döndürmediğinde void kullanın:
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;
}
}Nokta operatörünü kullanarak nesneler üzerindeki metotları çağırın:
Calculator myCalc = Calculator();
myCalc.greet(); // Parametresiz
int sumResult = myCalc.add(5, 3); // Parametreli, dönüş değerini yakala
print(sumResult);
int product = myCalc.multiply(4, 7); // Yazdırır ve döndürürMetotlar dönüş tiplerine sahip olabilir, return kullanarak değer döndürebilir, print() kullanarak doğrudan çıktı yazdırabilir veya hiçbir şey döndürmediklerinde void olabilirler.
Kendin dene
import 'bank_account.dart';
void main() {
BankAccount myAccount = BankAccount();
myAccount.balance = 0;
// YAPILACAK: 100 yatır
// YAPILACAK: 30 çek
// YAPILACAK: Bakiyeyi şu formatta yazdır: 'Current balance: $[balance]'
// İpucu: Temiz bir çıktı için bakiye üzerinde .toInt() kullanın
}
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 DosyalarKütüphaneler ve ImportlarOOP'ye GirişSınıflar ve Nesnelerthis Anahtar KelimesiMetotlarÖrnek DeğişkenleriConstructor TemelleriÖzet - Basit Hesap Makinesi4Null Safety
Null Safety'ye GirişNullable ve Non-Nullable? ve ! OperatörleriLate Anahtar Kelimesi ve Null SafetyNull-Aware OperatörleriSınıflarda Null SafetyÖzet - Kullanıcı Profili Sistemi7Soyut Sınıflar ve Arayüzler
Soyut SınıflarSoyut MetotlarDart'ta ArayüzlerÖrtük ArayüzlerUygulama vs. GenişletmeÇoklu ArayüzlerÖzet - Şekil Hesaplayıcı10Koleksiyonlar ve Generic'ler
List, Set, Map Genel BakışTip Güvenli KoleksiyonlarGeneric SınıflarGeneric MetotlarGeneric KısıtlamalarIterable ve IteratorÖzet - Generic Depolama2Dart'ta Yapıcılar
Varsayılan Yapıcıİsimlendirilmiş Yapıcılarİlklendirme ListeleriSabit YapıcılarFabrika YapıcılarıYönlendiren YapıcılarÖzet - Şekil Oluşturucu5Kapsülleme
Public ve Private Üyeler_ Öneki KuralıKütüphane Düzeyinde GizlilikGetter ve Setter DetaylarıBilgi GizlemeÖzet - Öğrenci Kayıtları8Mixin'ler
Mixin'lere GirişMixin OluşturmaBirden Fazla Mixin KullanımıMixin'lerde on Anahtar KelimesiMixin vs KalıtımMixin vs ArayüzÖzet - Hayvan Sistemi11Özel Metotlar
toString() OverridehashCode ve == OverrideComparable Arayüzücall() MetodunoSuchMethod OverrideÖzet - Özel Koleksiyon14Tasarı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ı17Final Meydan Okumaları
E-Öğrenme PlatformuBankacılık SistemiOyun Karakter SistemiAraç Kiralama Servisi3Sınıf Özellikleri
Instance ve Statik ÜyelerFinal ve Const AlanlarLate DeğişkenlerStatik Metotlar ve AlanlarGetters ve SettersÖzet - Banka Hesabı Yöneticisi6Kalıtım
Temel Kalıtımsuper Anahtar KelimesiMetot Ezme@override Anotasyonufinal Sınıf Anahtar KelimesiYapıcı Metotlar ve KalıtımÖzet - Çalışan Hiyerarşisi9Çok Biçimlilik
Çok Biçimlilik TemelleriInterface'ler ile Çok BiçimlilikÇalışma Zamanı Tip Kontrolüis ve as OperatörleriCovariant Anahtar KelimesiÖzet - Ödeme İşlemcisi12Asenkron OOP
Futures ve async/awaitStream TemelleriStream Controller'larAsenkron KurucularSınıf Metotlarında Asenkron KullanımıÖzet - Data Fetcher15Tasarı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ı