Merhabalar.

Sınıflar konumuza sınıflara ait Properties kavramıyla devam ediyoruz.

Propertyler sınıfa ait değer atanabilecek özelliklerdir.

Örneğin Personal diye bir sınıfımız var bu personele ait isim, soyisim, email gibi bilgiler bu personele ait özelliklerdir.

Şimdi void main metodunun ayrı bir dart dosyasında tutulduğu, personal sınıfının ayrı bir dart dosyasında tutulduğu bir program yazmaya çalışalım.

Bir dart projesinde sınıflarımızı lib klasörü içinde yazabiliriz. Yazmak zorunda değiliz istediğiniz konum ya da dosya içinde de yazabilirsiniz. Önemli olan kullanacağımız yerde adresini doğru şekilde gösterebilmek bunun da zaten kolay bir yolu var.

Dosyalarımızı şöyle oluşturduk.

Şimdi ilk olarak personal sınıfının property’lerini oluşturalım.

Bu personele ait isim, soyisim, numara ve yaş bilgileri tutulsun istiyoruz.

İlk 3 değer String, yaş ise int tipli olsun istiyoruz.

class Personal{

  String name;
  String lastName;
  String Number;

}

Class tanımızı yaptık ve propertyleri tanımladık.

Şimdi main.dart dosyasında class’dan bir instance oluşturalım.

Bunun için yapmamız gereken şey şudur.

Eğer türeteceğimiz sınıf kullanılacak dosyada kodlanmadıysa ilk olarak sınıfın dosyası import edilmelidir.

Bunun için main.dart dosyasına personal sınıfının dosyasını import edeceğiz.

import 'package:hello_dart/01_personal.dart';

import yazıyorız. Sonrasında tek ya da çift tırnaklar arasına package: diyoruz. Devamında direkt dosyanın yolunun yazıyoruz.

Bunu yapabilmenin daha kolay bir yolu vardır.

Sınıfın ismini nesne türetmek için metodun içinde yazarsanız ve sonrasında Alt + Enter yaparsanız size eklenecek yolu gösterir ve tıkladığınızda otomatik eklenir.

Dosyayı import ettiğimize göre sınıftan nesne türetebiliriz artık.

Bir nesne türetme işlemi için

Sınıfİsmi Tanımlayıcıİsim = Sınıfİsmi();

Sınıfİsmi Tanımlayıcıİsim = new Sınıfİsmi();

İki türlüde türetilebilir.


import 'package:hello_dart/01_personal.dart';

void main(){

  Personal Ahmet = Personal();
}

Buradaki mantığı aşağıdaki görselde anlamaya çalışalım.

Biz bir sınıf yazdığımızda bu RAM’de Heap bölgede saklanır.

Biz ne zaman bu Heap bölgedeki sınıftan bir isimle nesne türetirsek bu nesne Stack bölgeye yazılır. Ve Heap bölgede refere ettiği sınıfın tüm özelliklerine erişebilir.

Ahmet diye yazdığımız nesneye instance diyoruz. Yani Personal sınıfından Ahmet isminde bir instance türettik diyerek bunu ifade ederiz.

Burada sınıfın özelliklerine ve metodlarına erişebilmek için instance isminden sonra (.) nokta koymamız yeterli olacaktır.

Şimdi elimizdeki sınıftan türettiğimiz nesnemizin özelliklerine ulaşalım ve değerler atayalım.

Sonra atadığımız değerleri print ile ekrana yazdıralım.

import 'package:hello_dart/01_personal.dart';

void main(){

  Personal Ahmet = Personal();

  Ahmet.name = "Ahmet";
  Ahmet.lastName = "Bilginer";
  Ahmet.number = "0 345 667 56 56";
  Ahmet.age = 20;
  
  print("${Ahmet.name} ${Ahmet.lastName}\n ${Ahmet.number} - ${Ahmet.age} ");
}
Bir nesnenin özelliklerine ulaşıp  = diyerek sağ tarafına değerini yazayarak o değeri atayabiliriz.

Aynı zamanda değere ulaşmak istersek instance.özellik şeklinde ulaşmak yeterli olacaktır.

Eğer değer atamadan ekrana yazdırmaya çalışsaydık null değerlerini görürdük.

H:\Dart_Tutorial\hello_dart\bin_Classes>dart 01_main.dart
Ahmet Bilginer
0 345 667 56 56 - 20

Çıktımızı elde etmiş olduk.

Biraz daha iyi anlamak için Ayşe isminde bir nesne daha türetelim ve değerler verelim.

import 'package:hello_dart/01_personal.dart';

void main(){

  Personal Ahmet = Personal();

  Ahmet.name = "Ahmet";
  Ahmet.lastName = "Bilginer";
  Ahmet.number = "0 345 667 56 56";
  Ahmet.age = 20;

  print("${Ahmet.name} ${Ahmet.lastName}\n${Ahmet.number} - ${Ahmet.age} ");

  Personal Ayse = Personal();

  Ayse.name = "Ayşe";
  Ayse.lastName = "Bilginer";
  Ayse.number = "0 656 548 45 45";
  Ayse.age = 45;

  print("${Ayse.name} ${Ayse.lastName}\n${Ayse.number} - ${Ayse.age} ");

}
H:\Dart_Tutorial\hello_dart\bin_Classes>dart 01_main.dart
Ahmet Bilginer
0 345 667 56 56 - 20
Ayşe Bilginer
0 656 548 45 45 - 45

Böylelikle sınıfa ait propertyler tanımladık ve bu özelliklere değerler atayıp sonrasında bu değerlere ulaşıp ekrana yazdırdık.

Bir sonraki yazımda görüşmek üzere.


What's Your Reaction?

hate hate
0
hate
fail fail
0
fail
fun fun
0
fun
geeky geeky
0
geeky
love love
0
love
lol lol
0
lol
omg omg
0
omg
win win
0
win
Murat Bilginer
21 Şubat 1992 Doğumlu. Endüstri Mühendisi olarak Lisansını 2016 yılında tamamlamıştır. Industryolog Akademi - NGenius oluşumlarının kurucusudur. Şu anda kendi şirketi Brainy Tech ile hem Yazılım Hizmetleri Sunmakta Hem de Online Eğitimler Vermektedir.