Nesne yönelimli bir dilde, sınıf, o sınıfın nesnelerini oluşturmak ve kullanmak için bir şablonu temsil eden genişletilebilir bir kod parçasıdır. Bir sınıfın bir nesnesi, tanımlanmış sınıfın bir örneğini ifade eder.
Python Sınıfı Temelleri
Python programlama dilinde, her veri parçası bir sınıfın bir örneği olarak temsil edilir. Dile aşina değilseniz, bkz. yeni başlayanlar için Python kılavuzu devam etmeden önce.
Bir sınıf, ortak uygulamalara sahip üye işlevler (yöntemler olarak da bilinir) biçiminde bir dizi davranış sağlar. o sınıfın tüm örnekleri ve aynı zamanda örneği için durum bilgisinin şu şekilde temsil edilme şeklini belirler. Öznitellikler.
Daha fazla oku: Python'da Sınıf Yöntemleri: Önemli Farklar
Aşağıdaki kod, Python'da tanımlanmış bir sınıf örneğini temsil etmektedir. Kodda tanımlanan sınıf, bir RaceCar sınıfının uygulamasını sağlar.
Sınıfın her örneği, farklı otomobil markaları için basit bir model sağlar ve aşağıdaki durumu içerir bilgi: arabanın adı, sürücünün adı, arabanın plaka numarası, mevcut hız, hız şarjı ve renk.
Bu araba sınıfı, her arabanın içinde, saatte 140 mil olan yasal hız sınırını aşması durumunda aracın sürücüsüne 50 dolar ceza kaydeden özel bir sensör modelliyor.
Sınıf Örneği (Araba Sınıfı)
sınıf Araba:
# Oluşturucu
# init yöntemi, sınıftaki # değişkenler örneğinin değerlerini başlatmaktan sorumludur.
def __init __ (self, car_name, driver_name, license_plate_number,
current_speed, speeding_charge, color):
self.car_name = araba_adı
self._driver_name = sürücü_adı
self._license_plate_number = license_plate_number
self._current_speed = current_speed
self._speeding_charge = speeding_charge
self._colour = renk
#Accessor yöntemleri
# Get_car_name yöntemi arabanın adını döndürür
def get_car_name (öz):
self._car_name döndür
# Get_driver_name yöntemi sürücünün adını döndürür
def get_driver_name (öz):
self._driver_name döndür
# Get_license_plate yöntemi arabanın plakasını döndürür
def get_license_plate (öz):
self._license_plate döndür
# Get_current_speed yöntemi, arabanın hareket ettiği geçerli hızı döndürür
def get_current_speed (öz):
self._current_speed döndür
# Get_speeding_charge yöntemi,
#driver aşırı hız için ödeme yapmak zorunda
def get_speeding_charge (self):
self._speeding_charge döndür
# Get_colour yöntemi tatlı yolculuğumuzun rengini döndürür!
def get_colour (self):
self._colour dön
# Mutatör yöntemleri
# Set_driver değeri arabamızın sürücüsünü değiştirir.
def set_driver (self, new_driver):
self._driver_name = new_driver
# Speeding_ticket yöntemi, sürücünün saatte 140 milin üzerinde hız yaparken yakalandığında 50 dolar almasını sağlar :(
def speeding_ticket (self, current_speed):
current_speed <= 140 ise:
False döndür
Başka:
self._speeding_charge + = 50
True döndür
# Make_payment yöntemi, sürücünün hızlanan bilet ücretleri için borçlu olduğu # tutarın tamamını ödeyebilmesini sağlar.
def make_payment (self, amount_paid):
self._speeding_charge - = amount_paid
Python Sınıfı Örneğinin Açıklaması
"Öz" Parametresi
İlk olarak, sınıfta bildirilen yöntem imzası ile programcı tarafından işlevi çağırmak için kullanılan yöntem imzası arasında bir fark olduğuna dikkat edin. Örneğin, get_colour sınıfta tanımlandığı gibi yöntem, "self" parametresi olan bir parametre alır.
Bununla birlikte, programcı sınıfın bir örneğinde bu yöntemi çağırdığında, herhangi bir parametre sağlamaz. Aynı fenomen, sınıfta iki parametre almak için tanımlanan speeding_ticket yönteminde de gözlemlenebilir (yani self ve current_speed), ancak programcı bu yöntemi yalnızca "current_speed" için değer sağlayarak çalıştırabilir. parametre.
Bunun nedeni, sağlanan 'self' parametresinin amacının, yöntemi çağrıldığı nesne örneğine bağlamak olması ve programcı tarafından verilecek bir değer olmamasıdır.
Yapıcı
Bir sınıfın Oluşturucusu, bir kullanıcının o sınıfın bir nesne örneğini oluşturmak için çağırabileceği sınıfın yöntemini ifade eder. Car sınıfında, kullanıcı aşağıdaki sözdizimini kullanarak bir nesne örneği oluşturabilir:
# kendi Bugatti'mizi yaratmak :)
Araba ("Bugatti", "David Sasu", 90828, 0, 0, "Kiraz Kırmızısı")
Bu kodun yürütülmesi, Car sınıfındaki __init__ yöntemine bir çağrı ile sonuçlanır. Bu yöntemin sorumluluğu, sağlanan örnek değerleriyle yeni oluşturulmuş bir kredi arabası nesnesi oluşturmaktır. Car sınıfının her bir nesnesi, aşağıdaki gibi altı örnek değişkeninden oluşur:
- _car_name
- _sürücü adı
- _license_plate
- _Geçerli hız
- _speeding_charge
- _renk
Aksesuar Yöntemleri
Bunlar, bir nesne örneğinin durum bilgilerine erişmek için yazılan yöntemlerdir. Car sınıfında, yazılan erişimci yöntemleri şunlardır:
- get_car_name
- get_driver_name
- get_license_plate
- get_current_speed
- get_speeding_charge
- get_colour
Mutatör Yöntemler:
Bunlar, bir nesne örneğinin durum bilgisini değiştirmek için yazılmış yöntemlerdir. Car sınıfında yazılan mutatör yöntemler şunlardır:
- set_driver
- speeding_ticket
- ödeme yapmak
Kapsülleme Kavramı
"Kapsülleme", bir programın bileşenlerinin ilgili uygulamalarının dahili ayrıntılarını açığa çıkarmaması gereken nesneye yönelik tasarım ilkesini tanımlamak için kullanılan bir terimdir. Kapsülleme kavramına ilişkin anlayışınızı artırmak için, bkz. kapsülleme üzerine makale.
Hata kontrolü
Programcıdan aldığı girdiye bağlı olarak büyük olasılıkla çökme veya arıza yapma ihtimali olduğundan, Araba sınıfı uygulamamız sağlam değildir.
İlk olarak, speeding_ticket ve make_payment yöntemlerinin parametre türlerini kontrol etmediğimize veya kurucunun herhangi bir parametresinin türlerini kontrol etmediğimize dikkat edin. Bu, kullanıcı beklenmeyen bir argüman sağlarsa programın çökmesine neden olabilir. Örneğin, kullanıcı speeding_ticket ("chips ahoy") gibi bir çağrı yaparsa, yöntemin beklediği tür bir dizge değil tam sayı olduğundan program çökecektir.
Artık Python Sınıfının Temellerini Anlıyorsunuz
Bu makalede, bir Python sınıfı ve bir Python sınıfı nesnesi kavramıyla tanıştınız. Ayrıca bir python sınıfının üzerine inşa edildiği fikirlerle tanıştınız, örneğin: kapsülleme, 'öz' tanımlayıcı, erişimci yöntemler ve mutatör yöntemler.
Bu bilgilerle kendi başınıza basit bir Python sınıfı oluşturup test edebilmelisiniz :)
Şimdi, hesabınızı masaüstü ve web uygulamasına bağlamak için kimliğinizi mobil cihazınız aracılığıyla doğrulamanız gerekecek.
- Programlama
- Python
Haber bültenimize abone ol
Teknoloji ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için haber bültenimize katılın!
Bir adım daha…!
Lütfen size az önce gönderdiğimiz e-postadaki e-posta adresinizi onaylayın.