Yazan : Şadi Evren ŞEKER

Bilgisayar bilimlerinde kullanılan bir yaklaşım olan nesne yönelimli programlama (object oriented programming) sayesinde gelişmiş olan bir kavramdır. Basitçe bir nesnenin (object) hafızada (RAM) olan bilgilerinin saklanmak veya ağ üzerinden yollanmak gibi amaçlarla bir dizgiye (string) dönüştürülmesi işlemidir.

Bu dizginin yapısı olarak çoğunlukla XML dili kullanılır. bu sayede verinin içeriğini belirleyen değişken değerleri kolayca oluşturulup parçalanabilir (parse).

Nesne sıralama (object serialisation) işlemi farklı dillerde farklı şekillerde yapılmakla beraber genelde nesnede bulunan private (hususi) değişken değerleri oluşturulan sonucun içinde yer almaz.

JAVA dilinde nesne serileme

Java dilinde bir nesnenin serilenmesini aşağıdaki örnek kod üzerinden inceleyelim:

Yukarıdaki kodda “serileme” isminde bir sınıf (class) oluşturulmuş ve bu sınıfın Serializable arayüzünü (interface) implement etmesi sağlanmıştır. Buradaki amaç bu arayüzde tanımlı olan ve her serileştirilecek nesnede üzerinebindirilmesi (override) mecburi olan toString() fonksiyonunu bu sınıfın yazarına zorlamaktır.

Kodda görüleceği üzere 17. Satırda bulunan toString fonksiyonu bir gerekliliktir. Bu fonksiyon yazılmazsa serileştirme işlemi olamaz. Zaten bildiğimiz üzere serileştirme işlemi de aslında bir dizgiye (string) dönüştürme işlemidir. Dolayısıyla toString fonksiyonu burada devreye girer.

Bu yazı şadi evren şeker tarafından yazılmış ve bilgisayarkavramlari.com sitesinde yayınlanmıştır. Bu içeriğin kopyalanması veya farklı bir sitede yayınlanması hırsızlıktır ve telif hakları yasası gereği suçtur.

Yukarıdaki örnek sınıfımızda basitçe “ozellik1” ve “ozellik2” isminde iki özellik (attribute) bulunmaktadır. Sınıfımızın yapıcısında (constructor) bu değerlere atama yapılmakta ve toString fonksiyonunda ise bu değerler bir virgül (,) sembolü ile ayrılarak bir dizgi (string) oluşturulmaktadır.

Artık yukarıdaki sınıfı kullanan aşağıdaki şekilde bir sınıf yazabiliriz.


Yukarıdaki yeni kodda Main isminde bir sınıf tanımlanmakta bu sınıfın içerisinde artık serileştirilebilir (serializable) olan “serileme” isimli sınıfımızdan bir nesne dosyaya kaydedilmekte ve tekrar okunarak ekrana basılmaktadır.

Kodda kabaca 43. Satırdan itibaren başlayan ve ilk çalışan main fonksiyonu içerisinde ilkHali isimli bir dizgiye (string) “serileme” ismindeki nesnenin serileştirilmiş hali atanmakta ve ekrana basılmaktadır.

46. satırdan itibaren ise yine Main sınıfında bulunan nesneKaydet ve nesneYukle isimli fonksiyonlara “serileme” isimli sınıftan ürettiğimiz bu nesne verilmekte ve nesne dosyaya kaydedilip tekrar dosyadan okunarak nesne haline dönüştürülmektedir.

Yukarıdaki kodun tam ve çalışır haline buradan erişebilirsiniz.

Yukarıdaki kodun ekran çıktısı aşağıdaki şekildedir:

C:UsersshedaiDesktopbilgisayarkavramlari>javac Main.java

C:UsersshedaiDesktopbilgisayarkavramlari>java Main
deneme yazisi, 123
deneme yazisi, 123

Bir cevap yazın

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