Öznitelikler
Coddy'nin Python Journey'sinin Object Oriented Programming bölümünün bir parçası — ders 6 / 64.
Öznitelikler, bir sınıfa veya onun nesnelerine ait olan veriler veya değişkenlerdir. Nesnenin durumu hakkında bilgi depolarlar.
İki tür öznitelik vardır:
Sınıf öznitelikleri - sınıfın tüm nesneleri tarafından paylaşılır:
class Student:
school_name = "Python Academy" # sınıf özniteliğiÖrnek öznitelikleri - her nesneye özgü:
class Student:
school_name = "Python Academy"
def set_info(self, name, age):
self.name = name # örnek özniteliği
self.age = age # örnek özniteliğiÖğrenci nesneleri oluşturun ve bireysel verilerini ayarlayın:
student1 = Student()
student2 = Student()
student1.set_info("Alice", 20)
student2.set_info("Bob", 22)Örnek özniteliklerine erişin (her nesneye özgü):
print(student1.name) # Alice
print(student2.name) # Bob
print(student1.age) # 20Sınıf özniteliklerine erişim (tüm nesneler için aynı):
print(student1.school_name) # Python Academy
print(student2.school_name) # Python Academy
print(Student.school_name) # Python AcademyÇıktı:
Alice
Bob
20
Python Academy
Python Academy
Python AcademyTemel Fark: Sınıf öznitelikleri tüm nesneler tarafından paylaşılır, örnek öznitelikleri ise her nesneye özgüdür. Örnek öznitelikleri için self.attribute_name ve sınıf öznitelikleri için sadece attribute_name kullanın.
Kopya kağıdı
Öznitelikler (Attributes), bir sınıfa veya onun nesnelerine ait olan veriler veya değişkenlerdir.
Sınıf öznitelikleri (Class attributes) - sınıfın tüm nesneleri tarafından paylaşılır:
class Student:
school_name = "Python Academy" # sınıf özniteliğiÖrnek öznitelikleri (Instance attributes) - her nesneye özgüdür, self kullanılarak tanımlanır:
class Student:
school_name = "Python Academy"
def set_info(self, name, age):
self.name = name # örnek özniteliği
self.age = age # örnek özniteliğiÖrnek özniteliklerine erişim:
student1 = Student()
student1.set_info("Alice", 20)
print(student1.name) # AliceSınıf özniteliklerine erişim:
print(student1.school_name) # Python Academy
print(Student.school_name) # Python AcademyKendin dene
Bu ders bir kod alıştırması içermiyor.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Object Oriented Programming bölümündeki tüm dersler
1OOP Temelleri
Harici DosyalarOOP'ye GirişSınıflar ve Nesnelerself ParametresiMetotlarÖzniteliklerYapıcı Metot (__init__)Özet - Basit Hesap Makinesi4Kalıtım
Temel Kalıtımsuper() FonksiyonuMetot Geçersiz KılmaÇoklu KalıtımMetot Çözümleme SırasıÖzet - Çalışan Hiyerarşisi7Özel Metotlar
Sihirli Metotlara GirişOperatör Aşırı YüklemeKapsayıcı Sihirli MetotlarıÖzet - Özel Liste10Tasarım Kalıpları Bölüm 1
Tasarım kalıplarına girişSingleton KalıbıFactory KalıbıObserver KalıbıStrategy Kalıbı13Final Meydan Okumaları
E-öğrenme PlatformuBankacılık SistemiOyun Karakteri GeliştirmeAraç Kiralama Servisi5Çok Biçimlilik (Polymorphism)
Metot Geçersiz Kılmaya Yeniden BakışDuck TypingSoyut Sınıflar ve MetotlarArayüz TasarımıÖzet - Şekil Hesaplayıcı8İleri Düzey OOP Kavramları
Kompozisyon ve KalıtımMixinsStatik ve Sınıf MetotlarıSınıf DekoratörleriBağlam Yöneticileri11Tasarım Kalıpları Bölüm 2
Komut KalıbıAdaptör KalıbıDekoratör KalıbıŞablon Metot KalıbıDurum KalıbıKompozit Kalıbı