top of page

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

ÜNİTE:


1.3. PROGRAMLAMA


KAZANIMLAR:


1.3.4.1. Örnek bir dosyanın içeriğini okuyup ekrana yazdıran programı geliştirir.





PYTHON - OOP - Encapsulation (Kapsülleme)


Encapsulation (kapsülleme), Nesne Yönelimli Programlama'da (OOP) bir sınıfın (class) verilerini ve yöntemlerini dış dünyadan gizlemeyi ve erişimi kontrol etmeyi sağlayan bir prensiptir. Python'da bu konsepti öğretirken şu başlıkları ele alabilirsiniz:


1. Kapsüllemenin Amacı


  • Veri Güvenliği: Kapsülleme, bir sınıfın iç verilerinin yalnızca ilgili metotlar aracılığıyla erişilmesini sağlar.

  • Karmaşıklığı Azaltma: Dış dünyaya gereksiz detayları gizler ve yalnızca gerekli olanları sunar.

  • Esneklik: Kodun bakımını ve geliştirilmesini kolaylaştırır.



2. Python'da Gizlilik Seviyeleri


  • Public (Genel): Bir _ veya özel bir işaret eklemeden tanımlanan değişken ve yöntemlere dışarıdan erişilebilir.



Protected (Korunan): _ ile başlayan değişkenler, bir uyarıdır. Dışarıdan erişim mümkündür ancak önerilmez.



Private (Özel): __ ile başlayan değişkenler tamamen gizlenir. Doğrudan erişim engellenir.












3. Getter ve Setter Metotları


Kapsülleme ile veriyi kontrol etmek için getter ve setter metotları kullanılır:















4. Örnek Uygulama


Bir banka hesabı uygulaması tasarlayabilirsiniz:


  • Veriler: Hesap numarası, bakiye

  • Yöntemler: Para yatırma, para çekme (limit kontrolü ile)

















OOP - Encapsulation (Kapsülleme) Özet Video:















OOP - Encapsulation (Kapsülleme) Alıştırması:


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


Bir sınıf oluşturun: Ogrenci. Bu sınıf aşağıdaki özellikleri ve yöntemleri içermelidir:


Özellikler (Attributes):


  1. isim: Öğrencinin adı (private).

  2. soyisim: Öğrencinin soyadı (private).

  3. notlar: Öğrencinin notlarını (liste) tutan bir özellik (private).


Yöntemler (Methods):


  1. not_ekle(miktar): Yeni bir not ekler. Eğer not 0 ile 100 arasında değilse eklemeyi reddeder ve kullanıcıya bir hata mesajı döndürür.

  2. ortalama_hesapla(): Notların ortalamasını döndürür.

  3. bilgi_al(): Öğrencinin adını, soyadını ve notlarının ortalamasını kullanıcıya gösterir.



Görevler:


  1. Sınıfı yazın. Yukarıdaki özellikler ve yöntemleri tanımlayın.

  2. Test edin. Bir öğrenci oluşturun ve birkaç not ekleyerek sistemin doğru çalışıp çalışmadığını kontrol edin.

  3. Hataları deneyin. 100'den büyük veya 0'dan küçük not eklemeyi deneyin ve mesajın doğru gösterildiğinden emin olun.



Beklenen Çıktı:





Örnek Kod:



Kod Açıklaması:


  1. init Yöntemi:


    • Öğrenci adını, soyadını ve not listesini tanımladık.

    • Tüm özellikler private olarak tanımlandı.


  2. not_ekle Metodu:


    • Notun 0-100 arasında olup olmadığını kontrol ediyor.

    • Uygun olmayan değer için kullanıcıya hata mesajı gösteriyor.


  3. ortalama_hesapla Metodu:

    • Notların ortalamasını hesaplıyor. Eğer not listesi boşsa 0 döndürüyor.


  4. bilgi_al Metodu:


    • Öğrencinin adını, soyadını ve notlarının ortalamasını formatlı bir metin olarak döndürüyor.


















OOP - Encapsulation (Kapsülleme) Alıştırma Çözümü Özet Video:














OOP - Encapsulation (Kapsülleme) - Görevi


Öğrenci Yönetim Sistemi


Bir sınıf oluşturun: Ogrenci. Bu sınıf aşağıdaki özellikleri ve yöntemleri içermelidir:


Özellikler (Attributes):


  1. isim: Öğrencinin adı (private).

  2. soyisim: Öğrencinin soyadı (private).

  3. notlar: Öğrencinin notlarını (liste) tutan bir özellik (private).


Yöntemler (Methods):


  1. not_ekle(miktar): Yeni bir not ekler. Eğer not 0 ile 100 arasında değilse eklemeyi reddeder ve kullanıcıya bir hata mesajı döndürür.

  2. ortalama_hesapla(): Notların ortalamasını döndürür.

  3. bilgi_al(): Öğrencinin adını, soyadını ve notlarının ortalamasını kullanıcıya gösterir.



Görevler:


  1. Sınıfı yazın. Yukarıdaki özellikler ve yöntemleri tanımlayın.

  2. Test edin. Bir öğrenci oluşturun ve birkaç not ekleyerek sistemin doğru çalışıp çalışmadığını kontrol edin.

  3. Hataları deneyin. 100'den büyük veya 0'dan küçük not eklemeyi deneyin ve mesajın doğru gösterildiğinden emin olun.



Beklenen Çıktı:




























Ödev:


Öğrenci Yönetim Sistemi


Bir sınıf oluşturun: Ogrenci. Bu sınıf aşağıdaki özellikleri ve yöntemleri içermelidir:


Özellikler (Attributes):


  1. isim: Öğrencinin adı (private).

  2. soyisim: Öğrencinin soyadı (private).

  3. notlar: Öğrencinin notlarını (liste) tutan bir özellik (private).


Yöntemler (Methods):


  1. not_ekle(miktar): Yeni bir not ekler. Eğer not 0 ile 100 arasında değilse eklemeyi reddeder ve kullanıcıya bir hata mesajı döndürür.

  2. ortalama_hesapla(): Notların ortalamasını döndürür.

  3. bilgi_al(): Öğrencinin adını, soyadını ve notlarının ortalamasını kullanıcıya gösterir.



Görevler:


  1. Sınıfı yazın. Yukarıdaki özellikler ve yöntemleri tanımlayın.

  2. Test edin. Bir öğrenci oluşturun ve birkaç not ekleyerek sistemin doğru çalışıp çalışmadığını kontrol edin.

  3. Hataları deneyin. 100'den büyük veya 0'dan küçük not eklemeyi deneyin ve mesajın doğru gösterildiğinden emin olun.


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








Comments


bottom of page