Örnek Değişkenleri
Coddy'nin Dart Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası — ders 7 / 110.
Örnek değişkenleri (instance variables), bir sınıf içinde bildirilen değişkenlerdir. Sınıftan oluşturulan her nesne, diğer tüm nesnelerden bağımsız olarak bu değişkenlerin kendi kopyasını alır.
Örnek değişkenlerini (instance variables) bir tür ve isteğe bağlı bir varsayılan değer ile bildirin:
class Student {
String school = 'Dart Academy'; // has a default value
String name = ''; // empty default
int age = 0; // zero default
}Varsayılan değerlere sahip değişkenler, her yeni nesne için aynı değerle başlar. name ve age gibi değişkenler, siz onları ayarlayana kadar boş veya sıfır olarak başlar.
Bireysel nesne verilerini ayarlamak için this anahtar kelimesini içeren bir metot kullanın:
class Student {
String school = 'Dart Academy';
String name = '';
int age = 0;
void setInfo(String name, int age) {
this.name = name; // this.name = örnek değişkeni
this.age = age; // this.age = örnek değişkeni
}
}Öğrencileri oluşturun ve verilerini atayın:
Student student1 = Student();
Student student2 = Student();
student1.setInfo('Alice', 20);
student2.setInfo('Bob', 22);Nokta operatörünü kullanarak örnek değişkenlerine erişin:
print('${student1.name} is ${student1.age} at ${student1.school}');
print('${student2.name} is ${student2.age} at ${student2.school}');Çıktı:
Alice is 20 at Dart Academy
Bob is 22 at Dart Academyschool değişkeninin varsayılan bir değere sahip olduğu için her iki nesne için de aynı olduğuna, buna karşın name ve age değişkenlerinin setInfo aracılığıyla bireysel olarak ayarlandıkları için her nesneye özgü olduğuna dikkat edin.
Görev
Kolaystudent.dart dosyasındaki Student sınıfını tamamlayın:
- Varsayılan değeri
'Dart Academy'olan birString schoolörnek değişkeni (instance variable) tanımlayın - Varsayılan değeri
''olan birString nameörnek değişkeni tanımlayın - Varsayılan değeri
0olan birint ageörnek değişkeni tanımlayın - Parametre olarak
String nameveint agealan ve bunlarıthisanahtar kelimesini kullanarak nesne üzerinde ayarlayan birsetInfometodu ekleyin
driver.dart dosyası, iki öğrenci oluşturarak ve bilgilerini yazdırarak sınıfınızı test edecektir (kilitli).
Kopya kağıdı
Örnek değişkenler (instance variables), bir sınıfın içinde tanımlanan değişkenlerdir. Her nesne bu değişkenlerin kendi kopyasına sahip olur.
Örnek değişkenleri bir tür ve isteğe bağlı bir varsayılan değer ile tanımlayın:
class Student {
String school = 'Dart Academy'; // varsayılan bir değere sahip
String name = ''; // boş varsayılan
int age = 0; // sıfır varsayılan
}Bireysel nesne verilerini ayarlamak için this anahtar kelimesini içeren bir metot kullanın:
class Student {
String school = 'Dart Academy';
String name = '';
int age = 0;
void setInfo(String name, int age) {
this.name = name; // this.name = örnek değişken
this.age = age; // this.age = örnek değişken
}
}Nesneler oluşturun ve verilerini atayın:
Student student1 = Student();
Student student2 = Student();
student1.setInfo('Alice', 20);
student2.setInfo('Bob', 22);Nokta operatörünü kullanarak örnek değişkenlere erişin:
print('${student1.name} is ${student1.age} at ${student1.school}');
// Çıktı: Alice is 20 at Dart AcademyKendin dene
import 'student.dart';
void main() {
Student student1 = Student();
Student student2 = Student();
student1.setInfo('Alice', 20);
student2.setInfo('Bob', 22);
print('${student1.name} is ${student1.age} at ${student1.school}');
print('${student2.name} is ${student2.age} at ${student2.school}');
}
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ı