36 - CLASS(SINIF) KAVRAMI

Nesne yönelimli olmayan diller, genellikle yapısal, işlemsel veya prosedürel programlamaya odaklanan dillerdir. İşte nesne yönelimli olmayan bazı programlama dillerine örnekler:

  1. C: C, yapısal bir dil olarak bilinir ve prosedürel programlamaya odaklanır. Nesne yönelimli programlama özellikleri içermez. C dili, düşük seviyeli bellek manipülasyonu ve donanım üzerinde doğrudan kontrol sağlamak için sıklıkla kullanılır.

  2. Fortran: Fortran, bilimsel ve teknik hesaplamalarda yaygın olarak kullanılan bir dil olup, genellikle matematiksel hesaplamalara odaklanır. Fortran, prosedürel programlamaya odaklanmış bir dil olup, nesne yönelimli programlama özellikleri içermez.

  3. COBOL: COBOL, iş kurallarını ve büyük ölçekli iş uygulamalarını desteklemek için tasarlanmış bir dilidir. COBOL, genellikle prosedürel programlamaya odaklanır ve nesne yönelimli programlama kavramlarını içermez.

  4. Ada: Ada, özellikle güvenlik kritik sistemlerde kullanılan bir dildir. Ada, genellikle yapısal programlamaya odaklanır ve nesne yönelimli programlama özelliklerine sahip değildir.

Bu diller, genellikle düşük seviyeli programlama, sistem programlaması veya bilimsel hesaplamalarda kullanılır. Nesne yönelimli programlama özellikleri, kodun daha modüler, bakımı daha kolay ve tekrar kullanılabilir olmasını sağlar, ancak bu özellikler nesne yönelimli olmayan dillerde genellikle bulunmaz.

Prosedürel, yapısal ve nesne tabanlı programlama (NTP) paradigmaları, farklı programlama yaklaşımları sunarlar. İşte bu paradigmalardaki temel farklar:

  1. Prosedürel Programlama:

    • Temel Yaklaşım: Prosedürel programlama, işlemleri (prosedürleri veya fonksiyonları) ve bu işlemler arasındaki veri akışını vurgular. Programlar, ardışık adımları ifade eden prosedürlerden oluşur.
    • Veri Saklama: Genellikle değişkenlerle veri saklar ve bu değişkenlere prosedürler üzerinden erişir.
    • Örnek Dil: C programlama dili, tipik bir prosedürel programlamaya örnektir.
  2. Yapısal Programlama:

    • Temel Yaklaşım: Yapısal programlama, programların belli bir sıra ve yapı içinde oluşturulması gerektiğini vurgular. Kontrol yapıları (if, else, while, for gibi) kullanılarak program akışı düzenlenir.
    • Veri Saklama: Genellikle değişkenlerle veri saklar ve prosedürler arasında veri paylaşımını sınırlar.
    • Örnek Dil: Pascal, ALGOL gibi diller, yapısal programlama yaklaşımını benimsemişlerdir.
  3. Nesne Tabanlı Programlama (NTP):

    • Temel Yaklaşım: Nesne tabanlı programlama, nesnelerin (veri ve davranışın birleşimi) kullanıldığı bir yaklaşımdır. Her nesne, belirli bir sınıftan türetilir ve sınıf, nesnelerin özelliklerini (alanlar) ve davranışlarını (metotlar) tanımlar.
    • Veri Saklama: Veriyi ve onunla ilişkili işlevleri bir araya getirir. Her nesne kendi içinde bağımsızdır ve diğer nesnelerle etkileşimde bulunabilir.
    • Örnek Dil: Java, C#, Python gibi diller, nesne tabanlı programlama paradigmasını destekler.

Her paradigmada programlama, belirli bir programın nasıl organize edildiğini, verinin nasıl işlendiğini ve kontrol akışının nasıl yönlendirildiğini belirler. Hangi paradigmayı tercih edeceğiniz, projenizin gereksinimlerine, tasarım hedeflerinize ve ekibinizin bilgi düzeyine bağlı olarak değişebilir.


Nesne Yönelimli Programlama

Örnek buton bir nesnedir ve arka planda butona ait bir sınıf vardır.

"Class" (Sınıf), nesne yönelimli programlamada temel bir yapıdır. Basit ve sade bir şekilde açıklamak gerekirse, bir sınıf, bir nesnenin (object) taslağını veya şablonunu tanımlayan bir yapıdır.

Sınıflar, içinde verileri (alanlar) ve bu verilere uygulanabilen işlemleri (metotlar) bir araya getirir. Örneğin, bir "Araba" sınıfı içinde arabanın markası, modeli, rengi gibi özellikleri (alanlar) ve arabanın çalıştırılması, durdurulması gibi işlemleri gerçekleştiren metotları bulunabilir.

Sınıflar, nesne yönelimli programlamanın temel prensiplerinden biri olan "kapsülleme"yi sağlar. Yani, sınıf içindeki detaylar dışarıdan gizlenir ve sadece sınıfın dışındaki kodun belirlenmiş arayüzü üzerinden etkileşimde bulunmasına izin verilir.

Basit bir örnek olarak, bir "Kedi" sınıfını düşünebiliriz. Bu sınıf, kedi nesnelerini temsil eder ve her kedinin özelliklerini (renk, tür, yaş) içerir. Ayrıca, kediye ait davranışları (miyavlama, oyun oynama) gerçekleştiren metotları içerebilir.

public class Kedi { // Alanlar (Özellikler) public string Renk; public string Tur; public int Yas; // Metotlar (Davranışlar) public void Miyavla() { Console.WriteLine("Miyav!"); } public void OyunOyna() { Console.WriteLine("Oyun oynanıyor."); } } class Program { static void Main() { // Kedi sınıfından bir nesne oluştur Kedi benimKedim = new Kedi(); // Kedinin özelliklerini ayarla benimKedim.Renk = "Beyaz"; benimKedim.Tur = "Siyam"; benimKedim.Yas = 2; // Kedinin davranışlarını çağır benimKedim.Miyavla(); benimKedim.OyunOyna(); } }



Günlük hayattan örnekler

özellikler ve görevler

  • tv kumandası
    • özellikler : tuş sayısı, rengi , ebatı
    • görevler: kanal değiştirme, ışığı arttırma azaltma, favori kanallar oluşturma, ses aç kapa
  • araba farı
    • özellikler: ışık boyu, şekil, renk
    • metotlar: ışık gücünü değiştirme, aydınlatma alanı değiştirme
  • askeri teşkilat
    • asker özellikleri: kilo, boy, spor geçmişi, sicil kaydı
    • ateş etme, tutuklama, halka yardım etme
  • büyük tekne
    • fields: renk, ismi, motor gücü, şekli, radar, ışık,hız sınırı
    • metotlar : hız, dönüş yapma
  • oyun karakteri
    • fields(properties): koşma hız sınırı, kıyafet, fiziksel özellikler, cinsiyet, kabiliyet, ticari zeka
    • metotlar: koşmak, zıplamak, uçmak, sürünmek, özellikleri kullanma, yüzmek, tırmanmak, kaçmak, silah kullanmak, alış veriş yapmak, araba sürmek 





Yorumlar

Bu blogdaki popüler yayınlar

14 - Dizi Oluşturma, Değer Atama

12 - Bir Boyutlu Diziler - Çalışma Soruları

27 - Koleksiyonlar: ArrayList()