top of page

BİLGİSAYAR BİLİMİ KUR 1 - 2. DÖNEM 8. HAFTA

ÜNİTE:


1.3. PROGRAMLAMA


KAZANIMLAR:


1.3.3.3. Dizgi tipinde veri tanımlar.


1.3.3.4. Tanımladığı dizgi tipindeki veriye ait temel fonksiyonların yer aldığı programları geliştirir.




PYTHON - Nesne Yönelimli Programlama (OOP)


1. OOP Nedir?


  • Tanımı ve amacı

  • OOP'nin avantajları: kodun yeniden kullanılabilirliği, modülerlik, bakım kolaylığı


2. Sınıflar (Classes) ve Nesneler (Objects)


  • Sınıf ve nesne tanımları

  • init metodu (yapıcı metod)

  • Örnek: Sınıf oluşturma ve nesne yaratma


3. Özellikler (Attributes) ve Metodlar (Methods)


  • Sınıf özellikleri ve örnek özellikler

  • Örnek metodlar ve sınıf metodları

  • Statik metodlar


4. Encapsulation (Kapsülleme)


  • Gizlilik (private, protected, public)

  • Getter ve Setter metodları

  • Örnek: Bilgi gizleme ve veri koruma


5. Inheritance (Kalıtım)


  • Alt sınıf (subclass) ve üst sınıf (superclass) kavramları

  • Kalıtım türleri: tekil kalıtım, çoklu kalıtım

  • super() fonksiyonu kullanımı


6. Polymorphism (Çok Biçimlilik)


  • Metodların aşırı yüklenmesi (overloading) ve metodların geçersiz kılınması (overriding)

  • Örnek: Farklı sınıflarda aynı isimde metodların farklı davranış sergilemesi


7. Abstraction (Soyutlama)


  • Soyut sınıflar ve soyut metodlar

  • abc modülü (abstract base class)

  • Örnek: Gerçek dünyadan soyutlama örnekleri


8. Composition (Bileşim) ve Aggregation (Toplama)


  • Sınıflar arası ilişki türleri

  • "Has-A" (sahiplik) ilişkisi

  • Örnek: Bir sınıfın başka bir sınıfın nesnesine sahip olması


9. Magic Methods (Sihirli Metodlar)


  • str, repr, len, eq gibi metodlar

  • Operatör aşırı yükleme (operator overloading)


10. Design Patterns (Tasarım Desenleri)


  • OOP'de yaygın kullanılan desenler: Singleton, Factory, Observer, Strategy

  • Örnek: Her desene dair küçük bir Python uygulaması


11. OOP ve Modüler Programlama


  • Modüller ve paketler

  • OOP ile daha modüler ve yapılandırılmış projeler geliştirme















OOP (Nesne Yönelimli Programlama) Nedir?


Nesne Yönelimli Programlama (OOP - Object-Oriented Programming), yazılım geliştirirken nesneler ve sınıflar etrafında yapılandırılan bir programlama paradigmasıdır. OOP, gerçek dünyadaki varlıkların dijital temsilini oluşturmayı amaçlar. Bu yaklaşım, modüler, yeniden kullanılabilir ve bakımı kolay kod yazmayı sağlar.












Nesne Yönelimli Programlama Örneği


Nesne Yönelimli Programlama'ya giriş yapmak için basit bir sınıf ve nesne örneği gösterebiliriz. Bu örnekte bir Araba sınıfı oluşturacağız ve bu sınıfı kullanarak farklı özelliklere sahip arabalar yaratacağız.




Açıklama:


  • Araba sınıfı, bir arabayı temsil eder ve her arabanın markası, modeli ve üretim yılı gibi özellikleri (marka, model, yil) vardır.


  • araba_bilgisi ve calistir isimli iki metot ekledik:


    • araba_bilgisi(): Arabanın özelliklerini döndürür.

    • calistir(): Arabanın çalıştığını bildirir.


  • araba1 ve araba2 isimli nesneler oluşturulup bu metotlar aracılığıyla çalıştırıldı.















Nesne Yönelimli Programlama (OOP) Özet Video:


















Nesne Yönelimli Programlama (OOP) Alıştırması:


Alıştırma: Öğrenci Yönetim Sistemi


Bir öğrenci kaydı yönetim sistemi oluşturmak istiyoruz. Bunun için bir Ogrenci sınıfı tanımlayın ve aşağıdaki özellikleri ve metotları ekleyin:



1. Sınıf Özellikleri:


  • ad: Öğrencinin adı

  • soyad: Öğrencinin soyadı

  • numara: Öğrencinin okul numarası

  • notlar: Öğrencinin notlarını saklayan bir liste (boş bir liste olarak başlayabilir)


2. Metotlar:


  • not_ekle: Parametre olarak bir not alır ve notlar listesine ekler.

  • ortalama_hesapla: Öğrencinin notlarının ortalamasını hesaplayıp döner. Eğer notlar listesi boşsa "Henüz not eklenmedi" mesajını verir.

  • bilgi_goster: Öğrencinin adı, soyadı, numarası ve not ortalamasını gösteren bir bilgi döndürür.


Örnek Kullanım:

Aşağıdaki gibi bir test kodu ile çalıştırılabilir:



İpucu:


  • Not ekleme fonksiyonunda listeye ekleme işlemini append ile yapabilirsiniz.

  • Ortalama hesaplama fonksiyonunda sum() ve len() fonksiyonlarını kullanabilirsiniz.


Bu alıştırma ile nesnelerin nasıl oluşturulduğunu ve bir sınıf içindeki metotlarla veriyi nasıl işleyebileceğinizi pratik etmiş olacaksınız.

















Nesne Yönelimli Programlama (OOP) Alıştırma Çözümü:



Açıklama:


  • Ogrenci sınıfı, öğrenci bilgilerini ve notlarını yönetmek için tanımlandı.

  • not_ekle metodu ile notlar listesine yeni notlar eklenir.

  • ortalama_hesapla metodu, öğrencinin not ortalamasını hesaplar. Eğer öğrenciye henüz not eklenmemişse uygun bir mesaj döner.

  • bilgi_goster metodu ise öğrencinin tüm bilgilerini ve not ortalamasını güzel bir biçimde döner.


Bu yapıyla her öğrenci nesnesi için not ekleyebilir, ortalamalarını hesaplayabilir ve öğrenci bilgilerini ekrana yazdırabilirsiniz.
















Nesne Yönelimli Programlama (OOP) Alıştırma Çözümü Özet Video:
















Nesne Yönelimli Programlama (OOP) - Görev


Alıştırma: Öğrenci Yönetim Sistemi


Bir öğrenci kaydı yönetim sistemi oluşturmak istiyoruz. Bunun için bir Ogrenci sınıfı tanımlayın ve aşağıdaki özellikleri ve metotları ekleyin:



1. Sınıf Özellikleri:


  • ad: Öğrencinin adı

  • soyad: Öğrencinin soyadı

  • numara: Öğrencinin okul numarası

  • notlar: Öğrencinin notlarını saklayan bir liste (boş bir liste olarak başlayabilir)


2. Metotlar:


  • not_ekle: Parametre olarak bir not alır ve notlar listesine ekler.

  • ortalama_hesapla: Öğrencinin notlarının ortalamasını hesaplayıp döner. Eğer notlar listesi boşsa "Henüz not eklenmedi" mesajını verir.

  • bilgi_goster: Öğrencinin adı, soyadı, numarası ve not ortalamasını gösteren bir bilgi döndürür.


Örnek Kullanım:

Aşağıdaki gibi bir test kodu ile çalıştırılabilir:



İpucu:


  • Not ekleme fonksiyonunda listeye ekleme işlemini append ile yapabilirsiniz.

  • Ortalama hesaplama fonksiyonunda sum() ve len() fonksiyonlarını kullanabilirsiniz.


Bu alıştırma ile nesnelerin nasıl oluşturulduğunu ve bir sınıf içindeki metotlarla veriyi nasıl işleyebileceğinizi pratik etmiş olacaksınız.


















Ödev:


Alıştırma: Öğrenci Yönetim Sistemi


Bir öğrenci kaydı yönetim sistemi oluşturmak istiyoruz. Bunun için bir Ogrenci sınıfı tanımlayın ve aşağıdaki özellikleri ve metotları ekleyin:



1. Sınıf Özellikleri:


  • ad: Öğrencinin adı

  • soyad: Öğrencinin soyadı

  • numara: Öğrencinin okul numarası

  • notlar: Öğrencinin notlarını saklayan bir liste (boş bir liste olarak başlayabilir)


2. Metotlar:


  • not_ekle: Parametre olarak bir not alır ve notlar listesine ekler.

  • ortalama_hesapla: Öğrencinin notlarının ortalamasını hesaplayıp döner. Eğer notlar listesi boşsa "Henüz not eklenmedi" mesajını verir.

  • bilgi_goster: Öğrencinin adı, soyadı, numarası ve not ortalamasını gösteren bir bilgi döndürür.



Oluşturduğunuz kodların fotoğrafını aşağıdaki mail adresine gönderiniz.


Maile isim soy isim, sınıf ve okul numarası bilgilerinizi yazmayı unutmayınız.


egitimdebil@gmail.com


Önerilen program: IDE - PYTHON (Bilgisayarla çalışmayanlar, kodları deftere yazıp fotoğrafını gönderebilirler.)


Bilişim Teknolojileri Öğretmeni: İshak BEZCİ


Son gün ve saat : Pazar gece 12.00







Commentaires


bottom of page