0% found this document useful (0 votes)
12 views23 pages

Class Oop

Uploaded by

cagripek01
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views23 pages

Class Oop

Uploaded by

cagripek01
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Python Sınıfları ve Nesneleri

✓ Python'da bir sınıf, nesneler oluşturmak için kullanıcı tanımlı bir şablondur.
✓ Verileri ve işlevleri bir araya toplayarak bunları yönetmeyi ve kullanmayı kolaylaştırır.
✓ Sınıflar, class anahtar sözcüğü kullanılarak oluşturulur .
✓ Nitelikler, sınıfın içinde tanımlanan değişkenlerdir ve sınıfın özelliklerini temsil eder.
Niteliklere nokta . operatörü kullanılarak erişilebilir (örneğin, MyClass.my_attribute).
CLASS
"Class" (Sınıf) Nedir? -> FABRİKA KALIBI

Diyelim ki bir oyuncak araba fabrikamız var.


Mühendisler oturdu ve bir teknik çizim hazırladı.
Çizimde diyor ki: "Bu arabanın 4 tekeri olacak, bir rengi olacak ve bir modeli olacak.

Dikkat:
Bu çizim sürülemez.
İçine binip gidemezsiniz.
Bu sadece bir tariftir, bir şablondur.

İşte bu teknik çizim CLASS'tır.


NESNE
"Object" (Nesne) Nedir? -> GERÇEK ARABA

Fabrika düğmeye bastı. O çizime (Class'a) bakarak banttan gerçek bir oyuncak araba çıktı.

•Bu, elle tutulan, yere koyulup sürülebilen şeye NESNE (Object) diyoruz.

O çizimden (Class) günde 1000 tane araba (Nesne) üretebilirsiniz.

[Link]: Kırmızı (Nesne 1)


[Link]: Mavi (Nesne 2)
[Link]: Sarı (Nesne 3)

Hepsi aynı çizimden çıktı ama hepsi farklı renkte, bağımsız arabalar.
class kodlaması
Kodla Görelim (Adım Adım)

Şimdi bu fabrikayı Python diline çevirelim.


Kalıbı (Class) Hazırla Henüz ortada araba yok, sadece plan var.
__init__

__init__ (Fabrikanın Çalışma Anı) Araba banttan çıkarken üzerine renk sıkmamız gerekir.
• Boş, renksiz araba olmaz. Python'da __init__, araba üretildiği o milisaniyede çalışan
kurulum fonksiyonudur.
__init__
Özetle:
__init__
➢ Otomatiktir: Nesne oluşturulduğu an kendiliğinden çalışır.
➢ Garantördür: Nesnenin eksik bilgiyle doğmasını engeller.
➢ İsmi Standarttır: Adını biz seçemeyiz,
➢ Python kuralı olarak adı hep __init__ olmak zorundadır.
"Yeni bir telefon aldığınızı düşünün. Kutuyu açtınız, güç düğmesine bastınız. Telefon hemen açılıp ana ekrana mı
gelir? Hayır. Önce karşınıza bir "Hoş Geldiniz" ekranı çıkar ve size zorunlu sorular sorar:
Dil seçin. Wi-Fi şifresi girin. Google/Apple hesabınızı girin.
Bu ayarları yapmadan telefonu kullanamazsınız. İşte __init__ tam olarak bu kurulum ekranıdır. Sınıf (Class):
Telefonun kendisi (Samsung, iPhone vs.). Nesne (Object): Sizin satın aldığınız o özel cihaz. __init__: Güç
düğmesine bastığınız an (nesne oluşturulduğunda) otomatik olarak devreye giren ve "Bana başlangıç bilgilerini
ver ki telefonu kullanıma hazır hale getireyim" diyen fonksiyondur
"self" Nedir?
En Büyük Kafa Karışıklığı: "self" Nedir?
Fabrikadasınız. Elinizde bir boya tabancası var.
Önünüzden 100 tane araba geçiyor.
Patron size dedi ki: "Rengi kırmızıya boya!
"Siz sorarsınız: "HANGİSİNİ?"
Şu an bantta önüme gelen arabayı mı? Arkadakini mi?
İşte self kelimesi, "O an üzerinde çalıştığım, elimdeki şu araba" demektir.
[Link] = "Kırmızı" dediğimizde Python şunu anlar:
"Şu an oluşturduğum bu arabanın rengini kırmızı yap.
Diğerlerine müdahale etme."
"self" Nedir?
Başak bir Örnek: ÖSYM Başvuru Formu (PDF):
• Class (Sınıf): İnternette duran BOŞ PDF dosyasıdır.
(Herkes için aynı şablondur, içinde veri yoktur).
• Object (Nesne): O PDF’ten çıktı alıp masana koyduğun DOLU KAĞIT’tır.
(Ahmet'in kağıdı, Ayşe'nin kağıdı ayrıdır).
• init: Kalemi eline alıp o boşlukları (Ad, Soyad) DOLDURMA işlemidir.
• self: Masanda duran O KAĞITtır.
(Arkadaşının kağıdı değil, senin önündeki kağıt).
"self" Nedir?
Özet:
form1 dediğinde;
self Ali'nin kağıdı olur,

form2 dediğinde;
self Ayşe'nin kağıdı olur.

Bu durumu anlaması insan için


kolay ama programın anlaması için
self kullanıyoruz.
print([Link]) dendiği zaman
program kimin puanını
yazdıracağını bulmak için form1 ile
self parametresini eşleştriyor.
Parçaları Birleştirelim (Final)
• Kod sırasıyla çalışıyor. "Mühendis -> Fabrika -> Ürün"
OyuncakAraba class’ından 2 farklı nesne(araba)
üretiliyor.
araba1 = OyuncakAraba("Mavi")
araba2 = OyuncakAraba("Kırmızı")

Özellik olarak ise sadece renk belirlenmek isteniyor.


def __init__(self, renk):
[Link] = renk
# self, o an üretilen arabayı temsil eder

Daha sonra üretilen nesnelerin istediğimiz özelliğini


öğrenmek için çağırıyoruz.

print([Link])
# Çıktı: Mavi

print([Link])
# Çıktı: Kırmızı
Özetle:
[Link]: Kağıt üzerindeki plandır (Araba Çizimi).
[Link]: O plandan çıkan gerçek üründür (Mavi Araba).
[Link]: "Benim rengim" diyebilmesi için o arabaya verilen kimliktir.
__str__
➢ Markete gittiniz, bir paket aldınız.
➢ Üzerinde hiçbir yazı yok, sadece barkod var.
➢ İçinde ne olduğunu anlayamazsınız
➢ str__ yoksa: Python size o paketin barkodunu (hafıza adresini) gösterir.
➢ __str__ varsa: Python paketin üzerine
"Ben Mavi renkli bir Toyota Corolla arabasıyım." etiketi yapıştırır.
➢ Bu metot (str) bir nesnenin okunabilir bir metin (string) olarak temsil
edilmesini sağlar
➢ __str__ kullanmak kesinlikle zorunlu değildir.
➢ Ancak __str__ kullanmazsanız, print(araba1) dediğinizde Python size
o nesnenin bilgisayar hafızasındaki adresini gösterir.
• # Bir sınıf tanımla
• class Ogrenci:
• okul = "XYZ Üniversitesi" # Sınıf özelliği
• Nesne Oluşturma
• Bir Nesne, bir Sınıfın örneğidir. Sınıfın belirli
Örnek bir uygulamasını temsil eder ve kendi
verilerini tutar.
• Şimdi ogrenci sınıfından bir nesne
oluşturalım .
class Ogrenci:
okul = "XYZ Üniversitesi" # Sınıf niteliği
# Sınıftan bir nesne oluştur
ogrenci1 = Ogrenci()
# Sınıf niteliğine eriş
print([Link]) # Çıktı: XYZ Üniversitesi
__init__() Fonksiyonunu Kullanma

• Python'da, sınıfın __init__() fonksiyonu vardır. Bir nesne


oluşturulduğunda nesne niteliklerini otomatik olarak başlatır.
• Python'da nesne tabanlı programlama (OOP)
önemli bir kavramdır.
• Sınıflar ve nesneler oluşturmak için
kullanılı[Link] parametresi, sınıfın örneğine
(instance) erişim sağlar.
self • Self Parametresinin Rolü:self, sınıf içindeki
Parametresi yöntemlere sınıfın örneği üzerinden erişim
sağlar.
• Örneğin kendisini ifade eder.
• Sınıf niteliklerine ve diğer yöntemlerine
erişmeyi mümkün kılar.
örnek
• class Araba:
• def __init__(self, marka, model):
• [Link] = marka
• [Link] = model

• def bilgi_ver(self):
• return f"Araba Marka: {[Link]}, Model: {[Link]}"

• araba1 = Araba("Toyota", "Corolla")


• print(araba1.bilgi_ver()) # Çıktı: Araba Marka: Toyota, Model: Corolla
örnek
class Ogrenci:
okul = "XYZ Üniversitesi" # Sınıf niteliği

def __init__(self, isim, yas):


[Link] = isim # Örnek niteliği
[Link] = yas # Örnek niteliği

# Öğrenci nesneleri oluşturma


ogrenci1 = Ogrenci("Ahmet", 20)
ogrenci2 = Ogrenci("Ayşe", 21)

# Öğrenci bilgilerini yazdırma


print(f"{[Link]} {[Link]} yaşında ve {[Link]} öğrencisi.")
print(f"{[Link]} {[Link]} yaşında ve {[Link]} öğrencisi.")
• __str__ metodu, Python'da bir sınıfın örneği
(instance) için okunabilir bir string temsili
__str__ döndürmek amacıyla kullanılan özel bir
Yöntemi metottur.
• Bu metot, bir nesnenin str() fonksiyonu veya
print() fonksiyonu ile temsil edilmesini
özelleştirmenizi sağlar.
• class Kitap:
• def __init__(self, baslik, yazar):
• [Link] = baslik
• [Link] = yazar

• def __str__(self):
• return f"Başlık: {[Link]}, Yazar: {[Link]}"

• kitap1 = Kitap("Simyacı", "Paulo Coelho")


• print(kitap1) # Çıktı: Başlık: Simyacı, Yazar: Paulo Coelho
örnek
class Araba:
marka = "Bilinmeyen Marka" # Sınıf niteliği

def __init__(self, model, yil):


[Link] = model # Örnek niteliği
[Link] = yil # Örnek niteliği

def __str__(self):
return f"Bu araba {[Link]} model bir {[Link]}."

# Araba sınıfından bir nesne oluşturma


araba1 = Araba("Corolla", 2020)

print(araba1) # Çıktı: Bu araba 2020 model bir Corolla.


class Araba:
# Sınıf niteliği
marka = "Bilinmeyen Marka"

def __init__(self, model, yil):


# Örnek nitelikleri
[Link] = model
[Link] = yil

# Nesneler oluşturma
araba1 = Araba("Corolla", 2020)
araba2 = Araba("Civic", 2019)

# Sınıf ve örnek niteliklerine erişim


print([Link]) # (Sınıf niteliği)
print([Link]) # (Örnek niteliği)
print([Link]) # (Örnek niteliği)

# Örnek niteliklerini değiştirme


[Link] = "Camry"
print([Link]) # (Güncellenmiş örnek niteliği)

# Sınıf niteliğini değiştirme


[Link] = "Toyota"
print([Link]) # (Güncellenmiş sınıf niteliği)
print([Link]) # (Güncellenmiş sınıf niteliği)
# Bir sınıfın örneklenmesini gösteren Python programı
class Ucak:

# Basit bir sınıf niteliği


kategori = "Ticari Uçak"

# Örnek bir metod


def bilgileri_goster(self):
print("Uçak Modeli:", [Link])
print("Üretim Yılı:", [Link])

def selamla(self):
print("İyi uçuşlar dileriz!")

# Ana kod
# Nesne örnekleme
ucak1 = Ucak()
[Link] = "Boeing 737"
[Link] = 2018

# Nesneler aracılığıyla sınıf niteliklerine ve metoduna erişme


print([Link])
ucak1.bilgileri_goster()
[Link]()

You might also like