En Yeni Konular

Dart – Sınıflar (Class)

Sınıflar (Classes)

Dart nesne yönelimli bir programlama dilidir. Diğer nesne yönelimli programlamaların içerdiği herşeyi içerir class, interfaces, gibi gibi…

  • Classları(Sınıf) oluşturacağımız nesnelerin bir şeması gibi düşünebiliriz.
  • Sınıfların kendi içerisinde değişkenleri ve methodları vardır.
  • Istedigimiz bir nesnenin veya varlığın bilgisayar dilinde tanımı diyebiliriz.

Sınıf(Class) Oluşturma

Dart dilinde class yardımdı keyword’u ile class oluşturabiliriz.

class oluşturma syntax’ı

  • Fields : Nesneye ait verileri değişkenleri temsil eder.
  • getters ve getters : Class içerisine veri alış verişi kontrolü için kullanılır.
  • constructors : Bir sınıftan nesne ürettiğimizde tetiklenen yapılardır.
  • fuctions : Nesnenin gerçekleştirebileceği eylemleri temsil eder, method olarakda bilinir

Sınıf içerisindeki bütün öğelere sınıf üyeleride diyebiliriz.

Sınıf oluşturma örnek

Sınıfımızdan nesne oluşturma

var araba = new sınıf_ismi([ parametreler])  şeklinde sıfımızdan nesne oluşturabiliriz Dart dilinde new keyword’u opsiyoneldir.

Constructor olmadan full Sınıf örneği

Constructors (Kurucu) Methodlar

  • Bir sınıftan nesne ürettiğimizde tetiklenen yapılardır.
  • Bu yapıları kullanarak nesnelerimizi veri göndererek oluşturabilir,
  • Nesneleri kullanmadan önce gerekli atamaları ve ayarları yapabiliriz.
  • Kurucu methodların geri dönüş tipi olmaz.

Farklı türlerde kurucu oluşturabiliriz

Default Constructor (Kurucu) Method

Sınıf adının yanına () dediğimizde çalışan ve de sınıf adıyla aynı olan methoddur.

Default constructor sınıfın içinde eğer elle yazıp belirtmesek bile Araba(){} şeklinde tanımlı boş bir methoddur.

Parametreli Kurucu Method

Aslında default constructorın parametre almış haline denir.

İsimlendirilmiş Kurucu Method

Eğer birden çok kurucu method istiyorsak isimlendirilmiş kurucu methodlardan yararlana biliriz.

Kullanım şekli  Sınıf_ismi.kurucu_ismi(parametre_listesi) şeklindedir.

This Anahtar Kelimesi

Basit olarak söylemek gerekirse this anahtar kelimesi o anda hangi nesne üzerinde işlem yapılıyorsa o nesnenin referansını döndürür.  Genellikle değişken ismi çakışmalarını önlemek için kullanılabilir.

Çakışma olayını biraz açarsak; bir yapıcı metoda(constructor) gönderdiğimiz parametrelerin ismi sınıf değişkenleriyle aynı ise this kullanarak bu karışıklılığı önleyebiliriz.

Yukarıda ana sınıfımızda Mahmut Tuncer diye bir öğrenci nesnesi oluşturduk ve bu nesneyi oluşturduğumuz da Ogrenci sınıfının kurucu metodu çalışacaktır. Kurucu metot isim ve soyisim adında iki parametre kullanmaktadır. Bir de kurucu metodumuz dışındaki isim ve soyisim değişkenlerini görmektesiniz. Kurucu metodun kullandığı parametrelerle bu değişkenlerin isminin aynı olduğuna aldanmayın aslında farklıdır.

Kurucu metottaki parametreler aslında bir iletim görevi görür bu parametreler ana sınıfımızdan gelen Mahmut ve Tuncer kelimelerini kurucu metoda iletmektedir. Ogrenci sınıfı değişkenleri olan isim ve soyisim ise bu parametrelerle gönderilen verileri tutmakla görevlidir. İşte tam burada this ifadesini kullanarak bu çakışmayı giderebiliriz. this.isim sınıf değişkeni olan isim değişkenini işaret ederken isim ifadesi yapıcı metoda gönderilen parametreyi temsil etmektedir.

Getter ve Setter

Getter ve Setter (Getir Götürcüler 🙂 ) ikilisi sınıfımız içerisindeki değerleri kontrollü  bir şekilde erişip değiştirmemize olanak sağlayan yardımcılardır. Varsayılan olarak her sınıf içerisinde hiç bir parametre ve dönüş tipi olmayacak şekilde tanımlıdır. Özelleştirmek için bunları yeniden tanımlarız.

Dart dilinde get kelimesi ile Getters, set kelimesi ile Setters tanımlayıp. Varsayılanı  yeniden istediğimiz şekilde tanımlayabiliriz

Private Kavramı

Bazen güvenliği arttırmak veya karmaşıklığı azaltmak için programımız içerisindeki alanları bulunduğumuz sınıf dışında görünmesini istemeyiz. Bu gibi durumlar için Dart dilinde gizlemek istediğimiz alanın veya metodun başına alt_tire “_” koyarız.

Böylece bulunduğumuz Sınıf dışarından erişimine gizleriz.

Not : Eğer Sınıfımızdan nesne oluşturduğumuz yer aynı dart dosyası içersinde ise hata vermeden gizli alanlara ve metodlara ulaşılabilir

Hakkında Necip Akgöz

İLGİNİZİ ÇEKEBİLİR

Dart – Static Method ve Degiskenler

BaşlıklarSınıflar (Classes)Sınıf(Class) OluşturmaConstructor olmadan full Sınıf örneğiConstructors (Kurucu) MethodlarDefault Constructor (Kurucu) MethodParametreli Kurucu Methodİsimlendirilmiş Kurucu …

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir