JavaFX variables etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
JavaFX variables etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

15 Ekim 2009 Perşembe

JavaFX de değişkenler

JavaFX değişkenleri iki tipdir. Bunlar "var" ve "def" dir. Var variable (değişkenin) kısaltılmışı def (define) tanımlamaktır. "var" kullanımı değişkenin değerinin ileride değişebileceğini gösterir. Örneğin "var ortalama = 10.0" ilerde "ortalama = 25.0" olabilir. "def" ise farklı ele alınır. "def" de değişkene ilk değer atanmak zorundadır ve ilerde programcı tarafından değeri değiştirecek bir atama yapılmayacağı garanti edilir. Örneğin:
var ortalama; // ortalamaya ilk değer atanmak zorunda değil.
def euro=2.47; // İlk değer hemen atanmalı.
def dolar; // Derleyici hata verir. İlk değer hemen atanmalı.
euro = 2.13; // Derleyici hata verir. Def olarak atanmış değişken'e değer atanamaz.
JavaFX'in güçlü özelliklerinden biri de binding (bağlanma) mekanizmasıdır. Bu mekanizma değişken başka bir değişkene ya da kod parçasına bağlanabilir. Örnek:
var  fizik_notu = 5.6;
var  kimya_notu = 7.2;
var toplam = bind  fizik_notu + kimya_notu;
Bu örnekte fizik ve/veya kimya notu değeri ne zaman değişirse toplam değişkeni tekrar hesaplanıp güncellenir. "def" bu örnekte önem kazanır. "def"'i bind ile güncel tutabiliriz. Bunun ne anlamı var diye sorabilirsiniz. Şöyle ki değişkeni başka biri değiştiremesin ama bazı durumlar da değişsin istiyorsunuz diyelim. "var" ile değişken değeri yanlışlıklada olsa değişebilir(kodu devir alan başka programcı ya da uykusu gelmiş olan sizin tarafınızdan). Ama "def" kullanırsak da değişkeni değiştiremeyiz. Fakat "def" i bir kod parçasına bağlarsak hem otomatik güncellenir hem de siz yada başkası yanlışlıkla değiştiremez. Bu durum gerçek hayatta bize başka bir ortamdan (veritabanı, internet) dolar kurunu alan bir kod yazarak "def" değişkenine bağlama ve böylece hem güncel kalıp hem de yanlışlık değişmesi olasılığından kurtulma açısından fayda sağlar. "def" 'in bir faydası da derleyicinin çeşitli optimizasyonlar uygulamasına fırsat verir. Değişkene sonradan değer atarsanız değer atanana kadar değişkenin tipi bellirli değildir. Atama yapılınca yapılan atamaya göre değişken tipi bellirlenmiş olur. Sert kodlanan dillerde değişkenin tipi hemen belirtilmelidir. Değişken tipi atama yapmadan önce de belirlenebilir. Değişken tipleri aşağıdaki gibidir.
  • Integer
  • Long
  • Short
  • Byte
  • Number
  • Double
  • Float
  • String
  • Array
  • Sequence
  • Herhangi bir java sınıfı (JButton v.s.)
Örnek:
var teker_sayısı: Integer = 4;
var PI:Number = 3.14;
var urun_adi:String = "Merck";
var kayit_dosyasi:File;
Gördüğünüz gibi değişken isminin önüne ":" işareti getirerek değişken tipini belirleyebilirsiniz. Number tipi her zaman floattır. Bu durum cep telefonları ile uyumluluk adına belirlenmiştir. Sequence JavaFX'e özel bir değişken tipidir. Integer, short, byte, float, double java daki ile aynıdır. String sınıf olarak değil değişken tipi olarak ele alınır. Sequenceler dizilere benzerler ancak JavaFX de dil tarafından desteklenen bazı ilginç özelliklere sahiptirler. Sequenceleri diğer yazılarımda ayrı olarak ele alacağım. Son olarak bir örnek vererek bir özellikten daha bahsedeceğim.
var x =23;
def y =145;
var a = {  var b =10;
              var c =x+y;
              c/b;
            }
Bu kod parçasında son ifadenin değeri a değişkenine atanır. Aynı durum "def" ve bind ile bağlanmış değişkenler içinde geçerlidir. Blok yazımın avantajı okunabilirliği anlatır. Blok içinde tanımlanan b ve c değişkeni blok dışında geçersizdir. Yani bu değişkenlere erişilemez ve derleyici hata verir. Değişkenlerin geçerlilik alanını sonraki yazımda işlemeyi düşünüyorum. O zamana kadar esen kalın.

11 Ekim 2008 Cumartesi

JavaFX de değişkenler

JavaFX de değişken tanımı: var değişkenismi : değişkentürü = değer; var ogrenci_notu : Integer = 10; şeklindedir. "var" niteleyicisi değişken tanımı yapılacağını belirtir. Değişken türü eğer değişken değeri hemen atanacaksa önemsizdir. var image = Image { url: "{__DIR__}/myPicture.png" } Ancak hemen değer atamayacağınız değişkenlerde değişken tipi belirtilmelidir. var image : Image; ... image.url="http://host.com/myimage.jpg"; Değişken tipleri Integer, Number, String (karakter katarı), Duration, Sequence, fx sınıfı yada java sınıfı olabilir. Özel Duaration değişkeni : Bu değişken özellikle animasyon desteği için eklenmiştir. Fakat illa bu durum için kullanmak zorunlu değildir. var son_tur : Duration=10s var yineleme_zamanı : Duration=10ms var saat=10s Duration fx sınıfı zaman değişkeni için destek sağlar. s= Saniye ms = Milisaniye cinsinden değişken tanımlayabilirsiniz. Sequence: Javaki dizilerin karşılığı olarak görülebilir. Ancak sequenceler bundan daha fazlasıdır. Sequence değişkenleri string, number ve diğer sınıf değişkenleri olabilir. Number tipi sequenceler javafx de bağzı işleri kolaylaştırmak için özel tanımlamalar sağlar.Bu başlıkta sadece tanımlama özelliklerini veriyorum. Bu konuyu ayrıca bir başlıkta daha geniş olarak ele alacağım. String sequence tipine örnek: var yemekler =["Mantar sote", "Fırın tavuk", "Makarna"]; Number sequence tipine örnek: var sayısalloto = [1,4,12,15,23,36,42] var birden_ona_kadar_rakamlar = [1..10] Node sınıfını genişleten elips sınıfının sequence tipi değişkende toplanması: var nodes = [Ellipse{}, Ellipse{}] var nodes = [Ellipse{}, Rectangle{}]