noisiv 1
noisiv
Manwe Work 1
Manwe Work
mavzermete 1
mavzermete
darkbey42 1
darkbey42
xranzei 1
xranzei
Bvural41 1
Bvural41
PrimeAC 1
PrimeAC
Payidar2 1
Payidar2
Fethi Polat 1
Fethi Polat
Wizard' 1
Wizard'
shrpnl 1
shrpnl
Queinn 1
Queinn
Hikaye Ekle

Python Sınıflar

  • Konuyu başlatan Konuyu başlatan ByMoDuS
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 8
  • Görüntüleme Görüntüleme 517

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

Python Sınıflar
Python nesneye yönelik bir programlama dilidir. Nesneye yönelik programlama dilinin esasını nesne oluşturur. Bir nesne oluşturmadan önce, nesnenin özelliklerini (değişkenler) ve metodlarını (fonksiyonlar) belirleyecek olan bir sınıf bildirimi yapılarak yeni bir veri türü oluşturulur. Daha sonra, bu sınıf türünden nesneler oluşturularak, sadece bu nesne yoluyla sınıf kopyası içinde yer alan değişken ve fonksiyonlara erişim sağlanır.
Python'da bir sınıf bildirimi class anahtar kelimesi ile aşağıda gösterildiği şekilde yapılır:

Python:
class sınıf-adı:
   # Sınıf dışından erişim sağlanabilen değişken bildirimleri
   ortak-değişken1 = ön-tanımlı-değer1
   ortak-değişken2 = ön-tanımlı-değer2
   .
   .

   # Sınıf dışından erişilemeyen değişken bildirimleri (çift alt çizgi ile başlar.)
   __özel-değişken1
   __özel-değişken2
   .
   .
  
   # Başlangıç değer atama fonksiyonu
   def __init__(sınıf-kopya-değişkeni, param1, param2, ...):
         sınıf-kopya-değişkeni.param1 = ...
         sınıf-kopya-değişkeni.param2 = ...
         .
         .       
        
   # Normal sınıf fonksiyon bildirimleri
   def fonksiyon-adı1(param1, param2, ...)
   def fonksiyon-adı2(param1, param2, ...)
   .
   .
  • Ortak değişkenler sınıf dışından erişim sağlanabilen değişkenlerdir.
  • Çift alt çizgi ( __ ) ile başlayan özel değişkenler sınıf dışından erişilemeyen değişkenlerdir.
  • Bir sınıftan bir nesne oluşturulduğunda, __init__() fonksiyonu otomatik olarak çağrılır ve başlıcası nesnenin değişkenlerine ilk değer atamak olan işlemleri gerçekleştirir.
  • sınıf-kopya-değişkeni sınıfın aktif kopyasını gösteren ve __init__() fonksiyonunun ilk parametresi olarak tanımlanan değişken olup, sınıf içindeki değişken ve fonksiyonlara erişim sağlamak için kullanılır.
  • __init__() fonksiyonunun ilk parametresinden sonra yer alan parametrelere, nesne oluşturulurken değer atanır.
Şimdi, sınıf bildiriminin yapılmasını bir örnek üzerinde incelemeye çalışalım:


[CODE lang="python" title="Örnek"]class sinif_kitap:
# Sınıf dışından erişim sağlanabilen değişken bildirimleri
grup = "Kitap"

# Sınıf dışından erişilemeyen değişken bildirimleri (çift alt çizgi ile başlar.)
__yazar = 1

# Başlangıç değer atama fonksiyonu
def __init__(self, kategori, adi):
self.kategori = kategori
self.adi = adi

# Normal sınıf fonksiyon bildirimleri
def nesne_yazdir(self):
print(self.grup + ' ' + self.kategori + ' ' + self.adi)

print(sinif_kitap) [/CODE]

Yukarıdaki programı derleyip çalıştırdığımızda, aşağıdaki ifadeleri ekrana yazar:

Python:
<class '__main__.sinif_kitap'>

Programda , grup adlı bir adet ortak değişken, __yazar adlı bir adet özel değişken, iki parametreli bir __init__() fonksiyonu ve nesne değişken değerlerini ekrana yazan nesne_yazdir() adlı bir fonksiyon içeren sinif_kitap adlı bir sınıf bildirimi yapar. Sınıfı ekrana yazdırır.


Python'da bir sınıf bildirimi yapıldıktan sonra, aşağıdaki gösterilen genel yapıyı kullanarak bu sınıftan nesneler oluşturabiliriz. Nesneyi oluşturduktan sonra, nesne adını nokta (.) karakteri ile birlikte kullanarak sınıf içinde yer alan değişken ve fonksiyonlara erişim sağlayabiliriz.

Python:
nesne-adı = sınıf-adı(param1, param2, ...) # Nesne oluşturma (Parametre tanımlanması isteğe bağlıdır.)

# Nesne elemanlarına erişim
print(nesne-adı.değişken-adı) # Nesne değişkenlerine erişim
nesne-adı.fonksiyon-adı() # Nesne fonksiyonlarına erişim

Bir nesne oluşturulduğunda, nesnenin oluşturulduğu sınıfın bir kopyası oluşturulmuş olur. Böylece, nesne yoluyla sınıf kopyası üzerinde yapılan değişiklikler esas sınıf içeriğini etkilemez.

Şimdi, sınıf bildiriminin yapılmasını bir örnek üzerinde incelemeye çalışalım:


[CODE lang="python" title="Örnek"]class sinif_kitap:
# Sınıf dışından erişim sağlanabilen değişken bildirimleri
grup = 'Kitap'

# Sınıf dışından erişilemeyen değişken bildirimleri (çift alt çizgi ile başlar.)
__yazar = ''

# Başlangıç değer atama fonksiyonu
def __init__(self, kategori, adi, yazar):
self.kategori = kategori
self.adi = adi
self.__yazar = yazar

# Normal sınıf fonksiyon bildirimleri
def nesne_yazdir(self):
print(self.grup + ', ' + self.kategori + ', ' + self.adi + ', ' + self.__yazar)

nes1 = sinif_kitap('Roman', 'Çalıkuşu', 'Reşat Nuri Güntekin')
nes1.nesne_yazdir()

nes2 = sinif_kitap('Hikaye', 'Perili köşk', 'Ömer Seyfettin')
nes2.nesne_yazdir()[/CODE]

Yukarıdaki programı derleyip çalıştırdığımızda, aşağıdaki ifadeleri ekrana yazar:

Python:
Kitap, Roman, Çalıkuşu, Reşat Nuri Güntekin
Kitap, Hikaye, Perili köşk, Ömer Seyfettin

Program, grup adlı bir adet ortak değişken, __yazar adlı bir adet özel değişken, iki parametreli bir __init__() fonksiyonu ve nesne değişken değerlerini ekrana yazan nesne_yazdir() adlı bir fonksiyon içeren sinif_kitap adlı bir sınıf bildirimi yapar. Bu sınıftan iki adet nesne oluşturur ve nesne fonksiyonu yoluyla nesne değişken değerlerini ekrana yazdırır.
 

En Çok Reaksiyon Alan Mesajlar

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst