Python

Python’da Nesne Yönelimli Programlama (OOP) Nedir ve Nasıl Kullanılır? – Web Tasarım & Programlama

Python, nesne yönelimli programlama (OOP) yapabilen bir programlama dilidir. OOP, kodlama sürecinde nesnelerin kullanılmasını ve nesne yönelimli bir yaklaşımın benimsenmesini sağlar. Bu makalede, Python’da OOP’nin ne olduğunu, neden kullanılması gerektiğini ve nasıl kullanılacağını ele alacağız.

Nesne Yönelimli Programlama Nedir?

Nesne yönelimli programlama, bir programlama paradigmasıdır. Bu yaklaşım, kodlamayı daha organize ve yönetilebilir hale getirir. OOP, kodlama sürecinde nesnelerin kullanılmasını ve nesne yönelimli bir yaklaşımın benimsenmesini sağlar. Bu, nesneleri ve bu nesnelerin arasındaki ilişkileri kullanarak problemleri çözmeyi amaçlar.

Bir nesne, bir şeyin veya bir varlığın bir temsilcisidir. Bir nesne özellikleri ve yöntemleri olan bir varlıktır. Özellikler, nesnenin özelliklerini belirtirken, yöntemler nesnenin ne yapabileceğini belirtir.

Neden Nesne Yönelimli Programlama Kullanılır?

Nesne yönelimli programlama, kodlama sürecini daha anlaşılır hale getirir ve kodların tekrar kullanılmasını kolaylaştırır. Ayrıca, nesne yönelimli bir yaklaşım, programcıların daha büyük ve daha karmaşık projeleri ele almalarını sağlar. OOP, kodlama sürecini daha anlaşılır hale getirir ve daha modüler ve yeniden kullanılabilir kodların oluşturulmasını kolaylaştırır.

Python’da Nesne Yönelimli Programlama

Python, OOP yapabilen bir programlama dilidir. Python’da bir nesne, özellikleri ve yöntemleri olan bir varlıktır. Özellikler, nesnenin özelliklerini belirtirken, yöntemler nesnenin ne yapabileceğini belirtir.

Sınıflar

Python’da, nesneleri oluşturmak için sınıflar kullanılır. Bir sınıf, bir nesnenin özelliklerini ve yöntemlerini tanımlayan bir plan veya şablon olarak düşünülebilir. Sınıflar, nesneleri oluşturmak için kullanılan bir taslaktır.

Bir sınıf, class anahtar kelimesi ile tanımlanır. Sınıf adı, büyük harfle başlamalıdır. Aşağıdaki örnek, Person adlı bir sınıf tanımlar:

Bu sınıf, hiçbir özelliği veya yöntemi olmayan basit bir sınıftır. pass ifadesi, sınıfın boş olduğunu belirtir.

Nesne

Bir nesne oluşturmak için, sınıfı kullanarak bir örnek oluşturulur. Örneğin, Person sınıfından bir örnek oluşturalım:

Bu kod, Person sınıfından person1 adlı bir nesne oluşturur. Bu nesne, Person sınıfının özelliklerini ve yöntemlerini kullanabilir.

Özellikler ve Yöntemler

Bir sınıfın özellikleri, sınıfın içinde tanımlanır. Özellikler, nesnenin özelliklerini belirtir. Örneğin, Person sınıfı için name ve age özellikleri tanımlayalım:

Burada, __init__ yöntemi, sınıfın yapıcı yöntemidir. Bu yöntem, nesne oluşturulduğunda çağrılır ve nesne özellikleri ayarlanır. self anahtar kelimesi, sınıfın örneği için kullanılır.

Örneğin, person1 için name ve age özelliklerini belirleyelim:

Bu kod, person1 adlı bir nesne oluşturur ve name özelliğini "Alice" ve age özelliğini 25 olarak ayarlar. Sonrasında, name ve age özelliklerini yazdırır.

Bir sınıfın yöntemleri, sınıfın içinde tanımlanır. Yöntemler, nesnenin ne yapabileceğini belirtir. Örneğin, Person sınıfı için greet yöntemini tanımlayalım:

Burada, greet yöntemi, Person sınıfının bir yöntemidir. Bu yöntem, self anahtar kelimesi aracılığıyla nesnenin özelliklerine erişir ve bir selam verir.

Örneğin, person1 için greet yöntemini çağıralım:

Bu kod, person1 adlı bir nesne oluşturur ve greet yöntemini çağırır. greet yöntemi, person1 nesnesinin özelliklerini kullanarak bir selam verir.

Kalıtım

Kalıtım, bir sınıfın başka bir sınıftan özelliklerini ve yöntemlerini almasına olanak tanır. Bu, kod tekrarını önleyerek ve kod yazmayı kolaylaştırarak sınıflar arasında ilişkiler oluşturmanıza olanak tanır.

Örneğin, Person sınıfını kullanarak bir Student sınıfı oluşturabiliriz:

Burada, Student sınıfı, Person sınıfından kalıtım alır. super() fonksiyonu, Student sınıfının üst sınıfı olan Person sınıfını çağırır. __init__ yöntemi, Person sınıfının yöntemini çağırarak name ve age özelliklerini ayarlar ve grade özelliğini ekler.

Örneğin, student1 adlı bir öğrenci oluşturalım ve greet yöntemini çağıralım:

Bu kod, Student sınıfından student1 adlı bir öğrenci oluşturur ve greet yöntemini çağırır. greet yöntemi, Student sınıfının özelliklerini kullanarak bir selam verir. Ayrıca, student1 öğrencisinin grade özelliğini yazdırır.

Özel Yöntemler

Python’da, sınıfların özel yöntemleri vardır. Bu yöntemler, sınıfın davranışını özelleştirmek için kullanılır. Örneğin, __str__ yöntemi, bir nesnenin dize temsilini döndürür. __repr__ yöntemi, bir nesnenin temsilini döndürür.

Örneğin, Person sınıfına __str__ yöntemini ekleyelim:

Burada, __str__ yöntemi, Person sınıfının özel yöntemidir. Bu yöntem, bir dize temsilini döndürür.

Örneğin, person1 için __str__ yöntemini çağıralım:

Bu kod, Person sınıfından person1 adlı bir nesne oluşturur ve __str__ yöntemini çağırarak nesnenin dize temsilini döndürür.

Nesne yönelimli programlamanın daha iyi anlaşılması için birkaç örnek daha verebiliriz:

Araba Sınıfı

Bu sınıf, bir araba nesnesini temsil eder. __init__ yöntemi, bir arabanın özelliklerini (marka, model, yıl ve renk) ayarlar. calistir, durdur, hizlan ve yavasla yöntemleri, arabayı çalıştırma, durdurma, hızlandırma ve yavaşlatma işlemlerini gerçekleştirir.

Banka Hesabı Sınıfı

Bu sınıf, bir banka hesabı nesnesini temsil eder. __init__ yöntemi, bir hesap sahibinin adını, hesap numarasını ve bakiyesini ayarlar. para_yatir, para_cek ve bakiye_sorgula yöntemleri, hesaba para yatırma, para çekme ve bakiye sorgulama işlemlerini gerçekleştirir.

Çalışan Sınıfı

Bu sınıf, bir çalışan nesnesini temsil eder. __init__ yöntemi, bir çalışanın adını, soyadını ve maaşını ayarlar. tam_ad yöntemi, çalışanın tam adını döndürür. zam_yap yöntemi, çalışanın maaşına bir yüzdelik zam yapar. __str__ yöntemi, çalışanın adını, soyadını ve maaşını bir dize olarak döndürür.

Örneğin, bu sınıfı kullanarak iki çalışan nesnesi oluşturabilir ve zam yapabiliriz:

Bu kod, ali ve veli adlı iki çalışan nesnesi oluşturur. Sonra zam_yap yöntemi ile ali‘nin maaşına %10 ve veli‘nin maaşına %5 zam yapar. Son olarak __str__ yöntemi ile her bir çalışanın adını, soyadını ve maaşını yazdırır.

Özet

Python’da nesne yönelimli programlama, sınıf ve nesneler kullanarak bir programlama yaklaşımıdır. Sınıflar, özellikler ve yöntemler içeren bir kalıptır. Nesneler, sınıfların örnekleri olup özellikler ve yöntemler içerir.

Kalıtım, bir sınıfın başka bir sınıftan özelliklerini ve yöntemlerini almasına olanak tanır. Bu, kod tekrarını önleyerek ve kod yazmayı kolaylaştırarak sınıflar arasında ilişkiler oluşturmanıza olanak tanır.

Özel yöntemler, sınıfların davranışını özelleştirmek için kullanılır. Örneğin, __str__ yöntemi, bir nesnenin dize temsilini döndürür.

Nesne yönelimli programlama, Python gibi birçok programlama dili için temel bir kavramdır ve büyük, ölçeklenebilir projeler oluşturmak için çok faydalıdır.


Source link

Related Articles

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Back to top button