Java Geliştiriciler İçin Dart Dili’ne Giriş 🎯

Süeda Şen
HardwareAndro
Published in
3 min readSep 5, 2020

Herkese merhabalar. Bugünkü yazımda sizlerle birlikte Dart Dili ile Java arasındaki benzerlik ve farklılıkları öğrenecek, örnek kodlar üzerinden pekiştireceğiz. Ayrıca önceki yazımda Dart Dili’ne yeni başlamış biri olarak sizlere Dart Dili’nde Fonksiyon kullanımını açıklamıştım, buraya tıklayarak o yazıma da göz atabilirsiniz. Java, bölüm müfredatımın içinde yer alan bir programlama dili. Bu sebeple Java ile kod yazdım, hala yazıyorum ve söylemiş olduğum gibi Dart Dili’nde yeni sayılırım. Bu anlamda ikisi arasındaki ilişkiyi kendi gözlemlerim ve yapmış olduğum araştırmalarla analiz edeceğim. Öncelikle Java ve Dart Dili’nin kısa bir tanımlamasına bakalım.

Dart, Google’ın tek bir kod tabanından , local olarak derlenmiş mobil, web ve masaüstü uygulamaları oluşturmaya yönelik kullanıcı arayüzü (UI) araç seti aynı zamanda Flutter’ın programlama dilidir.

Java, açık kaynak kodlu, nesneye yönelik (OOP) , zeminden bağımsız, yüksek verimli, çok işlevli, yüksek seviye, adım adım işletilen bir dildir.

Her programlama dilinin olmazsa olmaz kavramı Class (Sınıf) yapılarıdır. Gelin Java’da birlikte ‘Bisiklet’ sınıfı oluşturalım ve aynı sınıfı Dart Dili’nde de oluşturmaya çalışalım.

Yukarıdaki kodda Java Dili’nde temel düzey sayılabilecek bir Sınıf yapısı oluşturduk. Şimdi bu kodu parça parça Dart Dili ile oluşturalım. Kadans, vites ve hız değerlerini tanımlayalım:

class Bicycle {
int kadans;
int hız;
int vites;
}
void main() { // main(List<String> args) şeklinde de
oluşturabilirsiniz.
}

Görmüş olduğunuz gibi Java’da bulunan private tanımlamasını yazmadım. Bunun nedeni Dart Dili’nde public, private, veya protected gibi anahtar kelimelerin bulunmamasıdır.

Şimdi de Java’da oluşturduğumuz Constructor’u (Yapıcı Metod) Dart’da yazalım:

Bisiklet(this.kadans, this.hız, this.vites);

Evet, constructor tanımlamak Dart Dili’nde bu kadar kolay. :) 4 satırlık kodu tek satırda ifade edebildik. Ancak isterseniz Java’da olduğu gibi de yapılabilir:

Bisiklet(int kadans, int hız, int vites) {
this.kadans= kadans;
this.hız= hız;
this.vites= vites;
}

Dart Dili’nde private tanımlaması aşağıdaki gibidir:

int hız= 0; //(_) kullanılır.

Getter ve Setter metodları da yine şu şekilde tanımlanabilir:

int get hız=> _hız;void fren(int düşüş) {
_hız -= düşüş;
}

void hızlan(int artış) {
_hız += artış;
}

Şimdi Dart ile oluşturduğumuz ‘Bisiklet’ sınıfının tüm kodlarına bakalım:

Daha da pekişmesi açısından Dart ile bir sınıf örneği daha yapalım:

Kodun çıktısı:

12.566370614359172
4

Java’da sınıfların uygulaması gereken bir davranışı belirtmek için kullanılan soyut bir tür vardır, buna Interface denir. Ancak Dart dili bir interface anahtar kelimesi içermez çünkü her sınıf bir interface tanımlar.

class ikinciDaire implements Daire{
num alan;
num yaricap;
}

Yukarıdaki interface örneğinde olduğu üzere, ikinciDaire sınıfı herhangi bir davranışı tanımlamasa da bu geçerlidir; Dart derleyicisi hata vermez.
ikinciDaire sınıfının alan örnek değişkeni, Daire sınıfının alan alıcısını uygular. Interface kelimesini kullanmadan doğrudan bir sınıf implements edilebilmektedir.

Dart Dili ile fonksiyonel bir şekilde kod yazmak mümkün, son yapacağımız örnekle bunu inceleyelim:

Kodun çıktısı:

Eyvah!
Eyvaah!
Eyvaaah!
Eyvaaaaah!
Eyvaaaaaaaaaa!
Eyvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah!

Java ile kod yazmış olanlar, bence aynı şeyi düşünüyoruz. 😄 Aslında Java ile Dart, syntax yani genel yazım kuralları itibariyle faklılıkları olsa da birbirlerine çok benziyorlar. Dart Dili’ne giriş seviyesinde şöyle bir baktığımızda pek anlaşılmayacak bir şey yok gibi, ne dersiniz?😊

Son olarak, eğer verdiğim örnekleri denemek isterseniz buraya tıklayarak ulaşacağınız Dart derleyicisinden kodumu kopyalayıp çıktıları görebilir, üzerinde çeşitli değişiklikler yapabilirsiniz.

Umarım bu yazımda sizlere faydalı olabilmişimdir. Sonraki paylaşımlarımda tekrardan görüşmek üzere .:)

--

--