32- Dart Encapsulation (Kapsülleme)

Yazımızın içeriğini video olarak ta izleyebilirsiniz.

Dart Flutter Dersleri Encapsulation Kapsülleme Paketleme

Encapsulation (Kapsülleme -Paketleme) Nedir?

Nesne yönelimli programlaya giriş yazımızda encapsulation (paketleme – kapsülleme) için şöyle bir açıklama yapmıştık;

” Biz sınıf oluşturduğumuzda bazı fonksiyonların, özelliklerin oluşturulan nesneden erişilememesini, gizlenmesini isteriz. Bu yüzden oluşturulan sınıf içerisinde kullanıcının işlemlerini daha dolay gerçekleştirebilmesi için bazı işlemler birleştirilerek tek bir işlem gibi gösterilir. Bu birleştirme işlemine kapsülleme, paketleme denir. Dart dilinde bu işi kolaylaştıran public ve private erişebilirlik türleri vardır. “

Şimdi bunu örnekleme ile anlatmaya çalışalım.

Bir pazarlamacı sınıfı oluşturalım ve içerisine prim adında private bir değişken oluşturalım. Bunun dışarıdan direkt olarak erişilebilmesini engelledik. Ancak sınıfımız içerisinde aldığımız değerler ile buna bir işlem yaptıralım.

class Pazarlamaci {
  String adi;
  String soyAdi;
  int telefonu;
  int satisAdeti;
  int? _prim; //prim dışarıya kapandı
  //constructor içerisinde olmadığı için boş kalabilir null olabilir
  //hatası verdi, biz değer vereceğiz dedik, soru işareti koyarak
  //hatayı kaldırdık.

  Pazarlamaci(this.adi, this.soyAdi, this.telefonu, this.satisAdeti) {
    _prim = satisAdeti * 5;
  }

  int get prim {
    return _prim!;
    //dışarıdan okumak istedik ve getter oluşturduk
  }

  set prim(int value) {
    _prim = value;
    //dışarıdan müdahale etmek istedik ve setter oluşturduk.
  }
}

Yukarıdaki örnek bir sınıf örneğimizdi. Şimdi aşağıda main fonksiyonu içerisinde bir nesne üretelim ve değişkenlerimize ulaşalım.

import 'nesne-encapsulation-class.dart';

void main(List<String> args) {
  Pazarlamaci pazarlamaci1 = Pazarlamaci("mehmet", "eser", 532532532, 20);

  pazarlamaci1.prim = 10; //setter oluşturduğumuz için değerini değiştirebildik
  print(pazarlamaci1.prim); //getter oluşturduğumuz için direkt okuduk
}

Biz prim değişkenini dışarıya erişime kapadık içeride işlem yaptırdık. İstersek dışarı açarız istersek kaparız. Yani programımıza özgü özellikler belirledik. Buna kapsülleme denir. Biz dışarıya ne sunmak istersek onu veririz.

Yorum bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir