fbpx
Generic filters
Search in title

Python: Nesne Yönelimli Programlama Nasıl Yapılır?

Python: Nesne Yönelimli Programlama Nasıl Yapılır? Nesne yönelimli programlama (OOP) için birçok farklı araç sunmaktadır. Bununla birlikte, nesne yönelimli programlama, programcıların kodlarını daha modüler, ölçeklenebilir ve yeniden kullanılabilir hale getirmelerine olanak tanımaktadır. Bu yazıda, Python‘da nesne yönelimli programlama nasıl yapılmaktadır konusunda ayrıntılı bir inceleme yapacağız.

Sınıflar ve Nesneler

Sınıflar

Python‘da nesne yönelimli programlama, sınıflar ve nesneler aracılığıyla yapılmaktadır. Sınıflar, bir nesne türünü tanımlayan bir şablondur. Bu nedenle, sınıflar, özellikleri ve yöntemleri (fonksiyonlar) içerebilmektedir.

class MyClass: x = 5 def my_function(self): print("Hello, World!")

Yukarıdaki kod, MyClass adlı bir sınıf tanımlar. x özelliği, 5 değeriyle tanımlanır. my_function() yöntemi, "Hello, World!" yazdırmak için kullanılır.

Nesneler

Sınıflar, nesneleri oluşturmak için kullanılmaktadır. Nesneler, sınıfta tanımlanan özellikler ve yöntemlerle birlikte bir örnektir.

class MyClass: x = 5 def my_function(self): print("Hello, World!") my_object = MyClass() print(my_object.x) my_object.my_function()

Yukarıdaki kod, MyClass sınıfından bir nesne (my_object) oluşturur. x özelliği ve my_function() yöntemi, nesneyle birlikte kullanılabilir.

Kalıtım

Kalıtım, bir sınıfın özelliklerinin ve yöntemlerinin başka bir sınıf tarafından kullanılmasına olanak tanır. Bir sınıf, başka bir sınıftan kalıtım yapabilmektedir.

class Person: def __init__(self, name, age): self.name = name self.age = age classStudent(Person): def __init__(self, name, age, student_id): super().__init__(name, age) self.student_id = student_id

Yukarıdaki kodda, Person adlı bir sınıf tanımlanır. Student adlı başka bir sınıf, Person sınıfından kalıtım alır. super() fonksiyonu, Person sınıfındaki özellikleri Student sınıfına aktarır.

Kapsülleme

Kapsülleme, bir sınıfın özelliklerinin ve yöntemlerinin başka bir sınıf tarafından doğrudan erişilemez hale getirilmesidir. Bunun yanı sıra, verilerin ve yöntemlerin özel veya korumalı hale getirilmesini sağlar.

Python’da, kapsülleme private ve protected olmak üzere iki şekilde yapılabilir. private olarak işaretlenen özelliklere sadece sınıf içinde erişilebilirken, protected olarak işaretlenen özellikler alt sınıflar tarafından erişilebilir.

class MyClass: def __init__(self): self.__private_variable = "This is a private variable" self._protected_variable = "This is a protected variable" def__private_method(self): print("This is a private method") def _protected_method(self):print("This is a protected method")

Yukarıdaki kodda, __private_variable adlı bir özellik ve __private_method() adlı bir yöntem, MyClass sınıfında private olarak işaretlenir. _protected_variable adlı bir özellik ve _protected_method() adlı bir yöntem, MyClass sınıfında protected olarak işaretlenir.

Polimorfizm

Polimorfizm, aynı yöntemin, farklı sınıfların nesneleri tarafından farklı şekillerde yürütülmesine olanak tanır. Bu, kodların daha modüler ve ölçeklenebilir olmasını sağlamaktadır.

class Dog: def sound(self): print("Bark") class Cat: def sound(self): print("Meow") defmake_sound(animal): animal.sound() dog = Dog() cat = Cat() make_sound(dog) make_sound(cat)

Yukarıdaki kod, Dog ve Cat adlı iki farklı sınıf tanımlar. Her iki sınıf da sound() yöntemini içerir, ancak farklı sesler üretirler. make_sound() fonksiyonu, sınıfların nesnelerini alır ve sound() yöntemini çağırır.

Sonuç

Python: Nesne Yönelimli Programlama Nasıl Yapılır? Nesne yönelimli programlama için birçok farklı araç sunar. Sınıflar ve nesneler, özellikleri ve yöntemleri içerebilmektedir. Kalıtım, bir sınıfın özelliklerinin ve yöntemlerinin başka bir sınıf tarafından kullanılmasına olanak tanır. Kapsülleme, verilerin ve yöntemlerin özel veya korumalı hale getirilmesini sağlar. Polimorfizm, aynı yöntemin, farklı sınıfların nesneleri tarafından farklı şekillerde yürütülmesine olanak tanır. Bu yazıda, Python’da nesne yönelimli programlama nasıl yapılmaktadır. Bu konuda ayrıntılı bir inceleme yaptık. Bunun yanı sıra, nesne yönelimli programlama, Python programlama diliyle çalışırken sıklıkla kullanılmaktadır. Bu nedenle, Python öğrenirken bu konunun önemini unutmamak önemlidir.