- Katılım
- 21 Ocak 2024
- Mesajlar
- 164
- Tepkime puanı
- 36
- Puanları
- 28
Basitliği ve çok yönlülüğü ile bilinen Python, web geliştirmeden veri analizine kadar çeşitli uygulamalar için kullanılan popüler bir programlama dilidir. Python'u diğerlerinden ayıran en önemli özelliklerden biri nesne yönelimli programlama (OOP) desteğidir.
Sınıflar
Python'da bir sınıf, nesneler oluşturmak için bir plan veya şablondur. Kendisinden örneklenen herhangi bir nesneyi karakterize eden bir nitelikler (değişkenler) ve yöntemler (işlevler) koleksiyonunu tanımlar.Bir sınıfın yapısı sınıf adı, nitelikler ve yöntemlerden oluşur.
“Car” adında basit bir sınıf oluşturarak başlayalım:
Yukarıdaki örnekte, “Car” sınıfını üç öznitelikle tanımlıyoruz: "brand," "model," ve "color.". Ayrıca “start_engine()” ve “stop_engine()” olmak üzere iki metodumuz var.
Nesneler
Bir sınıf tanımladıktan sonra, bu sınıfın nesne olarak bilinen örneklerini oluşturabiliriz. Her nesnenin kendine ait nitelikleri vardır ve sınıfta tanımlanan yöntemleri çağırabilir. Bir nesne oluşturmak için, sınıfı bir fonksiyonmuş gibi çağırırız:
Burada, “Toyota” markası, “Camry” modeli ve “Mavi” rengi ile “my_car” adında bir “Car” sınıfı örneği oluşturuyoruz.
Özniteliklere Erişme ve Yöntemleri Çağırma
Bir nesnenin niteliklerine erişmek için nokta gösterimini kullanırız:
Benzer şekilde, nokta gösterimini kullanarak bir nesnenin yöntemlerini çağırabiliriz:
Kalıtım ve Polimorfizm
Kalıtım, nesne yönelimli programlamanın bir diğer önemli yönüdür. Mevcut bir sınıfı (temel sınıf veya üst sınıf) temel alarak yeni bir sınıf (türetilmiş sınıf veya alt sınıf) oluşturmamızı sağlar. Türetilmiş sınıf, temel sınıfın tüm niteliklerini ve yöntemlerini miras alır ve bunları gerektiği gibi genişletebilir veya değiştirebilir.
Aşağıdaki örneği ele alalım:
Bu durumda, “ElectricCar” sınıfı “Car” sınıfından miras alır ve yeni bir “battery_capacity” niteliği ve “display_battery_capacity()” yöntemi ekler.
Öte yandan çok biçimlilik, ortak bir arayüzü veya temel sınıfı paylaştıklarında farklı sınıfların nesnelerinin birbirlerinin yerine kullanılmasına olanak tanır. Bu kavram Python'da kodun yeniden kullanımını ve esnekliğini sağlar.
Python'un sınıflar ve nesneler için desteği, geliştiricilerin temiz, modüler ve yeniden kullanılabilir kod yazmalarını sağlar. Sınıflar, nesneler oluşturmak için bir plan sağlar ve nesneler, verileri ve davranışları birlikte paketlememize olanak tanır. Kalıtım ve çok biçimlilik sayesinde karmaşık sınıf hiyerarşileri oluşturabilir ve kodun yeniden kullanımından etkili bir şekilde yararlanabiliriz.
Python'da sınıfların ve nesnelerin temellerini anlayarak, nesne yönelimli programlamanın gücünü ortaya çıkarabilir ve çok çeşitli programlama görevleri için zarif ve verimli çözümler oluşturabilirsiniz.
Sınıflar
Python'da bir sınıf, nesneler oluşturmak için bir plan veya şablondur. Kendisinden örneklenen herhangi bir nesneyi karakterize eden bir nitelikler (değişkenler) ve yöntemler (işlevler) koleksiyonunu tanımlar.Bir sınıfın yapısı sınıf adı, nitelikler ve yöntemlerden oluşur.
“Car” adında basit bir sınıf oluşturarak başlayalım:
Python:
class Car:
def __init__(self, brand, model, color):
self.brand = brand
self.model = model
self.color = color
def start_engine(self):
print(f"The {self.brand} {self.model}'s engine is running.")
def stop_engine(self):
print(f"The {self.brand} {self.model}'s engine is stopped.")
Yukarıdaki örnekte, “Car” sınıfını üç öznitelikle tanımlıyoruz: "brand," "model," ve "color.". Ayrıca “start_engine()” ve “stop_engine()” olmak üzere iki metodumuz var.
Nesneler
Bir sınıf tanımladıktan sonra, bu sınıfın nesne olarak bilinen örneklerini oluşturabiliriz. Her nesnenin kendine ait nitelikleri vardır ve sınıfta tanımlanan yöntemleri çağırabilir. Bir nesne oluşturmak için, sınıfı bir fonksiyonmuş gibi çağırırız:
Python:
my_car = Car("Toyota", "Camry", "Blue")
Burada, “Toyota” markası, “Camry” modeli ve “Mavi” rengi ile “my_car” adında bir “Car” sınıfı örneği oluşturuyoruz.
Özniteliklere Erişme ve Yöntemleri Çağırma
Bir nesnenin niteliklerine erişmek için nokta gösterimini kullanırız:
Python:
print(my_car.brand) # Output: Toyota
print(my_car.model) # Output: Camry
print(my_car.color) # Output: Blue
Benzer şekilde, nokta gösterimini kullanarak bir nesnenin yöntemlerini çağırabiliriz:
Python:
my_car.start_engine() # Output: The Toyota Camry's engine is running.
my_car.stop_engine() # Output: The Toyota Camry's engine is stopped.
Kalıtım ve Polimorfizm
Kalıtım, nesne yönelimli programlamanın bir diğer önemli yönüdür. Mevcut bir sınıfı (temel sınıf veya üst sınıf) temel alarak yeni bir sınıf (türetilmiş sınıf veya alt sınıf) oluşturmamızı sağlar. Türetilmiş sınıf, temel sınıfın tüm niteliklerini ve yöntemlerini miras alır ve bunları gerektiği gibi genişletebilir veya değiştirebilir.
Aşağıdaki örneği ele alalım:
Python:
class ElectricCar(Car):
def __init__(self, brand, model, color, battery_capacity):
super().__init__(brand, model, color)
self.battery_capacity = battery_capacity
def display_battery_capacity(self):
print(f"The {self.brand} {self.model} has a battery capacity of {self.battery_capacity} kWh.")
Bu durumda, “ElectricCar” sınıfı “Car” sınıfından miras alır ve yeni bir “battery_capacity” niteliği ve “display_battery_capacity()” yöntemi ekler.
Öte yandan çok biçimlilik, ortak bir arayüzü veya temel sınıfı paylaştıklarında farklı sınıfların nesnelerinin birbirlerinin yerine kullanılmasına olanak tanır. Bu kavram Python'da kodun yeniden kullanımını ve esnekliğini sağlar.
Python'un sınıflar ve nesneler için desteği, geliştiricilerin temiz, modüler ve yeniden kullanılabilir kod yazmalarını sağlar. Sınıflar, nesneler oluşturmak için bir plan sağlar ve nesneler, verileri ve davranışları birlikte paketlememize olanak tanır. Kalıtım ve çok biçimlilik sayesinde karmaşık sınıf hiyerarşileri oluşturabilir ve kodun yeniden kullanımından etkili bir şekilde yararlanabiliriz.
Python'da sınıfların ve nesnelerin temellerini anlayarak, nesne yönelimli programlamanın gücünü ortaya çıkarabilir ve çok çeşitli programlama görevleri için zarif ve verimli çözümler oluşturabilirsiniz.