Basit

Geri dön
Objeler ve Bileşenler


Bir Obje nedir? Gerçek dünyadaki objelerin mantığını yanıstan, kodlamayı kolaylaştıran bir konsepttir. Bir Obje dışarıya dönük bir takım özellikler ve metotlar sunar. Objeyi kullanırken, sadece sunduğu bu birimler üzerinden objeyle bilgi alışverişi sağlanır. Obje ise kendi içinde herşeyini kendisi yönetir. Obje ve Bileşen aynıdır. Aralarında teknik olarak hiçbir fark yoktur. Farkları sadece kodu doğru okumak içindir. Bileşen ile ekranda gözüken Pencere, Buton, Menü, Liste gibi görsel objeler tasarlanır. Obje ile arkaplanda çalışan ve ekrana görsel bir biçimde yansımayan objeler tasarlanır.

Objenin bazı özellikler ve işlemleri sadece objenin kendisi için, içerden sağlanırken, bazı özellikleri ve işlemleri dışarıyla veri akışını sağlamak için düzenlenir.

Objenin dışardan erişilebilir özellikleri (Değişkenler, Dizilimler, ProsedürBağları ve İşaretler) "Açık" anahtar kelimesiyle birlikte tanımlanır. İçe kapalı olan bu tür verileri ise "Kapalı" anahtar kelimesiyle birlikte tanımlanır.

Objenin dışardan erişilebilir prosedürleri "Metot" olarak tanımlanır. Sadece kendi içinde kullanılabilir prosedürleri yine "Prosedür" olarak tanımlanır. Prosedürler ise üç gruba ayrılırlar: Normal prosedürler Obje içinde her türlü işlemi yapar. Mesela metotlar tarafından kullanılabilir. Örneğin bir görsel bileşen tasarlanıyorsa, ortak bir çizim prosedürü tanımlanabilir. Her eylem ardından bu prosedürü çalıştırarak bileşen yeniden çizilebilir. Hazırlama prosedürü en az bir adet olmak zorunda. Bu prosedür yükleme yapabilir. Yani kendisinde birkaç çeşit olabilir.

Hazırlama prosedürü bileşeni veya objeyi ilk kez kullanacağımız zaman çalıştırılır ve objenin içindeki tüm hazırlıkları yapar. Mesela özelliklerin standart değerlerini belirler, gerekirse arabellekten alan rezerve eder vesaire.

Her objenin mutlaka bir kaldırma prosedürü vardır. Bu prosedür yükleme desteklemez. Bir obje artık lazım değilse, onu arabellekten kaldırmak için "Yoket" komutu kullanılır. Fakat Basit o objeyi yoketmeden önce kaldırma prosedürünü otomatik olarak çalıştırır ve obje kendi içinde bir temizlik yapar. Mesela arabellekten rezerve ettiği alanları tekrar kaldırması gibi.

Bir örnek:

Obje İsim
   ? Bu tanımlamalar sadece obje içinde geçerlidir
   Kapalı Değişken Rakam a; b; c
   Kapalı Dizilimsel Metin klistem
   ? Bu tanımlamar hem obje içinde, hemde dışında geçerlidir
   Açık Değişken Rakam d; e; f
   Açık Dizilimsel Metin alistem
   ? Bu prosedür sadece obje içinde geçerlidir
   Prosedür içerdeBirşeyYap ()
      ? ...
   ProsedürSon
   ? Bu metot hem obje içinde, hemde dışında geçerlidir
   Metot DışardanÇalıştırılabilir ()
      ? ...
   MetotSon
   ? Hazırlama prosedürü
   Prosedür İsim ()
      ? ...
   ProsedürSon
   ? Kaldırma prosedürü
   Prosedür _İsim ()
      ? ...
   ProsedürSon
ObjeSon

Aynı örnek Bileşen içinde geçerlidir:

Bileşen İsim
   ? Bu tanımlamalar sadece obje içinde geçerlidir
   Kapalı Değişken Rakam a; b; c
   Kapalı Dizilimsel Metin klistem
   ? Bu tanımlamar hem obje içinde, hemde dışında geçerlidir
   Açık Değişken Rakam d; e; f
   Açık Dizilimsel Metin alistem
   ? Bu prosedür sadece obje içinde geçerlidir
   Prosedür içerdeBirşeyYap ()
      ? ...
   ProsedürSon
   ? Bu metot hem obje içinde, hemde dışında geçerlidir
   Metot DışardanÇalıştırılabilir ()
      ? ...
   MetotSon
   ? Hazırlama prosedürü
   Prosedür İsim ()
      ? ...
   ProsedürSon
   ? Kaldırma prosedürü
   Prosedür _İsim ()
      ? ...
   ProsedürSon
BileşenSon

Bir Obje veya Bileşen başka bir Obje veya Bileşenden kaynaklanabilir. Kaynak aldığı Objenin açık tanımlamaları ve metotları otomatik olarak kendisine eklenir:

Obje AnaObjem
   ? Bu tanımlamalar sadece obje içinde geçerlidir
   Kapalı Değişken Rakam a; b; c
   Kapalı Dizilimsel Metin klistem
   ? Bu tanımlamar hem obje içinde, hemde dışında geçerlidir
   Açık Değişken Rakam d; e; f
   Açık Dizilimsel Metin alistem
   ? Bu prosedür sadece obje içinde geçerlidir
   Prosedür içerdeBirşeyYap ()
      ? ...
   ProsedürSon
   ? Bu metot hem obje içinde, hemde dışında geçerlidir
   Metot DışardanÇalıştırılabilir ()
      AnaObjem.a = 5
      AnaObjem.b = 18
      AnaObjem.c = AnaObjem.a * AnaObjem.b
   MetotSon
   ? Hazırlama prosedürü
   Prosedür AnaObjem ()
      ? ...
   ProsedürSon
   ? Kaldırma prosedürü
   Prosedür _AnaObjem ()
      ? ...
   ProsedürSon
ObjeSon

Obje YeniObjem Kaynağı AnaObjem
   ? Bu tanımlamalar sadece obje içinde geçerlidir
   Kapalı Değişken Rakam rak1; rak2
   ? Bu tanımlamar hem obje içinde, hemde dışında geçerlidir
   Açık Değişken Rakam liste1; liste2
   ? Bu prosedür sadece obje içinde geçerlidir
   Prosedür birİşlem () Rakamdır
      Sonuç YeniObjem.rak1 + YeniObjem.rak2
   ProsedürSon
   ? Bu metot hem obje içinde, hemde dışında geçerlidir
   Metot HesapEt () Rakamdır
      Sonuç YeniObjem.birİşlem()
   MetotSon
   ? Hazırlama prosedürü
   Prosedür YeniObjem ( Rakam a; b )
      YeniObjem.rak1 = a
      YeniObjem.rak2 = b
   ProsedürSon
   ? Kaldırma prosedürü
   Prosedür YeniObjem ()
      ? ...
   ProsedürSon
ObjeSon

Objeyi kullanmak için hazırlık prosedürü çalıştırılmalıdır:

Prosedür Başlat ()
   ? Obje türünden bir bir değişken tanımlanıyor
   Belirle YeniObjem test
   ? Hazırlama prosedürü çalıştırılıyor
   test()
   ? Öğeleri kullanılıyor
   Birlikte test
      ? Objenin kendi metotu
      Denetim .hesapEt()
      ? Kaynağından elde ettiği metotu
      Denetim .DışardanÇalıştırılabilir()
   BirlikteSon
ProsedürSon


Örnek

İnternetten bilgi edinme

Geri dön



Giriş      Kaydol      Bilgi      Gizlilik      Site Haritası



Bu İnternet sitesinde bulunan tüm kod, görsel kaynaklar ve bilgi, özellikle belirtilmemiş ise, 5M-Ware'e aittir ve tüm hakları saklıdır. Bu kaynakların izinsiz kopyalanması, izinsiz başka platformlarda kullanılması yasaktır. Ayrıntılı bilgi için Kullanıcı Sözleşmesini inceleyebilirsin.


ok
Bu web sitesi çerezleri saklamaz. İletişim formu aracılığıyla yapılan sorular geçici olarak saklanır ve işlemden sonra silinir. Yazı tipleri Google’dan alınmıştır. Ayrıntılı bilgi için  Gizlilik Politikamızı  inceleyin.

5M-Ware Youtube Videoları Blogger Tumblr


Icons erstellt von Freepik from www.flaticon.com


Tüm Telif Hakkı Saklıdır© 2019-2023 5M-Ware
info@basit.web.tr