Kullanıcı Aletleri

Site Aletleri


oezel_tuer_esnek

Anasayfa / Basit Dili Kuralları

Özel Tür 'Esnek'

Esnek türü özel bir türdür ve aslında konteyner görevi görür aynı zamanda Türler Arası Çeviri (Type Cast) yapar.

Esnek Basit'in diğer tüm veri türlerini destekler. Buna Yapılar, Objeler ve Bileşenlerde dahildir. Esnek türünün en çok işe yarayacağı durumlar prosedür parametre türü ve prosedür sonuç geri verme türü olarak ağırlık gösterir.

Normal durumlarda Esnek türü mümkün oldukça az kullanılmalıdır. İlk bakışta üniversal bir tür olduğu için çok cazip gelsede Esnek'in bir takım dezavantajları vardır:

  • Kapsamakta olduğu veri türüne bağlı olarak bellekte fazla alan işgal edebilir
  • Yine kapsamakta olduğu veri türüne bağlı olarak en az iki veya daha fazla işlevsel adım gerektirir. Genel olarak Esnek türüyle tutulan verilerin işlemleri, normal veri türleri üzerinden gerçekleştirilen işlemlerle kıyaslandığında farkedilir ölçüde yavaştır
  • Özellikle matematiksel işlemler yapılacak ise, Esnek ile yapılması önerilmez. Bunun yerine işleme dahil edilecek veriyi sayısal bir türden olan bir değişkene aktarıp, işleme onu dahil etmek önerilir.
  • Esnek özellikle işaretlerde, yapılarda, objelerde ve bileşenlerde dikkatli kullanılmalıdır. Bu durumlarda sık değil, daha az yazma ve okuma işlemleri yapılmalıdır. Aksi taktirde uygulamanın çökmesine sebebiyet verebilir.

Esnek'in avantajları:

  • Veriler arası tür'den türe çeviri yapabilir. Sayısal bir değeri kaynak alıp, metinsel bir değer olarak geri verebilir.
  • Aynı prosedür farklı türden verileri tek bir parametre elemanından elde edebilir ve VeriDenetim Modülü objesiyle birlikte yönetebilir.
  • Aynı zaman bir prosedür her türlü türden veri geri verebilir.

Özellikle prosedürlerin parametreleri için ve geri verme türü olarak, aslında Esnek türünün kendisinden olmasına rağmen, derleyici tarafından Esnek'in sınırlandırılmış variyasyonu olarak sunulan özel “Kısmi Türler'de” vardır:

Varyasyon Kullanım Fonksiyonu
DeğişkenTür Parametre Sadece sayısal ve virgüllü tür verileri kabul eder
DizilimselTür Parametre Sadece dizilim kabul eder
Obje Parametre Sadece Obje kabul eder
Bileşen Parametre Sadece Bileşen kabul eder
Yapı Parametre Sadece Yapı kabul eder
Değişkendir Geri Verme Sadece sayısal ve virgüllü tür verileri kabul eder
Dizilimdir Geri Verme Sadece dizilim kabul eder
Objedir Geri Verme Sadece Obje kabul eder
Bileşendir Geri Verme Sadece Bileşen kabul eder
Yapıdır Geri Verme Sadece Yapı kabul eder

Bu varyasyonlar sadece prosedür ve metotlar için geçerlidir. Bu kısmi türleri normal bir değişken gibi belirlemek ve kullanmak istiyorsak, geçerli yöntemler şöyle:

? Türü belirtilmemiş bir değişken Esnek'in DeğişkenTür'ü varyasyonunda tutulur 
Değişken  rakam1;  rakam2
    
? Türü belirtilmemiş bir dizilim, Esnek'in DizilimselTür'ü varyasyonunda tutulur
Dizilim  liste1;  liste2
    
? Ne olduğu netleştirilmemiş bir Yapı, Obje veya Bileşende yine Esnek varyasyonudur
Belirle  Yapı  birŞey
Belirle  Obje  birŞey
Belirle  Bileşen  birŞey  

Ama yukarıda ifade ettiğim gibi, Esnek ve varyasyonlarını dikkatli kullanmalı. Eğer normal türlerle yapılabilecek işlemse, o halde Esnek veya varyasyonunu kullanılmamalı. Prosedür ve Metotlar mesela yükleme yapabiliyor. Yükleme özelliği sayesinde aynı isime sahip birden fazla prosedür veya metot belirlemek mümkün. Bunların parametre türleri vesaire farklı olabilir, fakat en azından net bir türden olabilir.

Esnek ve varyasyonları sadece gerçekten gerektiği yerde kullanılmalıdır ve mümkün oldukça az adette. Esnek ile büyük bir uygulama hazırlamak hiç önerilmez. Uygulama hatasız çalışacak olsa bile, yavaş ve oldukça ağır çalışır ve gereğinden fazla bellekte alan işgal eder.

Bu başlık henüz mevcut değil

Henüz mevcut olmayan bir başlığın linkiyle geldiniz. Bu sayfayı oluştur tuşuna tıklayarak sayfayı oluşturabilirsiniz.

oezel_tuer_esnek.txt · Son değiştirilme: 07.11.2020 13:55 Değiştiren: admin