Ü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