Metodlar (Methods)

Metodlar, bir nesnenin davranışını sağlayan fonksiyonlardır.

Örnek Metodlar (Instance Methods)

Nesne üzerindeki örnek metodlar, örnek değişkenlere ve this anahtar kelimesine erişebilir. Aşağıdaki örnekteki digerineUzaklik() metodu bir örnek metod örneğidir:

import 'dart:math';

class Nokta {
  final double x;
  final double y;

  Nokta(this.x, this.y);

  double digerineUzaklik(Nokta diger) {
    var dx = x - diger.x;
    var dy = y - diger.y;
    return sqrt(dx * dx + dy * dy);
  }
}

Operatörler (Operators)

Operatörler, özel isimlere sahip örnek metodlardır. Dart, aşağıdaki isimlere sahip operatörleri tanımlamanıza izin verir:

< | + | | | >>> > | / | ^ | [] <= | ~/ | & | []= >= | * | << | ~ - | % | >> | ==

Not

Bazı operatörlerin, != gibi, listede olmadığını fark etmiş olabilirsiniz. Bu, onların sadece sözdizimsel şeker olduğu anlamına gelir. Örneğin, e1 != e2 ifadesi, !(e1 == e2) için sözdizimi şekeridir.

Aşağıdaki örnek, vektör toplama (+), çıkarma (-) ve eşitlik (==) operatörlerini tanımlar:

Getters ve Setters

Getters ve setters, bir nesnenin özelliklerine okuma ve yazma erişimi sağlayan özel metodlardır. Her örnek değişkeninin zaten varsayılan bir getter'ı ve uygunsa bir setter'ı vardır. Getters ve setters'ları kullanarak ek özellikler oluşturabilirsiniz. Bunun için get ve set anahtar kelimelerini kullanabilirsiniz:

Getters ve setters kullanarak, örnek değişkenleri metodlarla sarmadan başlayabilir ve daha sonra değiştirmeniz gerekmez.

Not

Artırma (++) gibi operatörler, beklenen şekilde çalışır, getter açıkça tanımlanmış olsa da olmasa da. Beklenmeyen yan etkileri önlemek için, operatör getter'ı tam olarak bir kez çağırır ve değerini geçici bir değişkende saklar.

Soyut Metodlar (Abstract Methods)

Örnek, getter ve setter metodları soyut olabilir, yani bir arabirim tanımlar ancak uygulamasını başka sınıflara bırakır. Soyut metodlar yalnızca soyut sınıflarda veya mixin'lerde bulunabilir. Bir metodun soyut olması için, bir metot gövdesi yerine bir noktalı virgül (;) kullanın:

Last updated