Python’da Nesne Yönelimli Programlama: Temeller ve İlk Adımlar

Master Spring Ter
2 min readJun 17, 2024

--

Nesne Yönelimli Programlama (OOP), yazılım geliştirmede önemli bir paradigma olup, verileri ve işlevleri bir araya getirir. Python, OOP için güçlü destek sunar ve bu yazıda, sınıflar ve nesneler ile nasıl çalışılacağını öğreneceksiniz.

1. Nesne Yönelimli Programlama Nedir?

OOP, yazılım bileşenlerini nesneler olarak modellemeyi amaçlayan bir programlama yaklaşımıdır. Bu nesneler, veri ve bu verilere yönelik işlevleri (metotlar) içerir. OOP’nin temel kavramları şunlardır:

  • Sınıf (Class): Nesnelerin yapısını tanımlar.
  • Nesne (Object): Sınıfın bir örneğidir.
  • Özellik (Attribute): Nesnenin verilerini temsil eder.
  • Metot (Method): Nesne üzerinde işlemler gerçekleştiren işlevlerdir.

2. Sınıflar ve Nesneler

2.1. Sınıf Tanımlama

Bir sınıf tanımlamak için class anahtar kelimesi kullanılır:

class Araba:
def __init__(self, marka, model, yil):
self.marka = marka
self.model = model
self.yil = yil

def bilgileri_goster(self):
print(f"{self.yil} {self.marka} {self.model}")

Bu kod, Araba adlı bir sınıf tanımlar. __init__ metodu, sınıfın kurucusu olup, nesne oluşturulduğunda çağrılır.

2.2. Nesne Oluşturma

Bir sınıftan nesne oluşturmak için sınıf adı bir fonksiyon gibi kullanılır:

araba1 = Araba("Toyota", "Corolla", 2020)
araba2 = Araba("Honda", "Civic", 2019)

araba1.bilgileri_goster() # 2020 Toyota Corolla
araba2.bilgileri_goster() # 2019 Honda Civic

Bu kod, Araba sınıfından iki nesne oluşturur ve bilgileri_goster metodunu çağırarak bilgileri ekrana yazdırır.

3. Özellikler ve Metotlar

3.1. Özellikler

Özellikler, nesnelerin verilerini temsil eder ve self anahtar kelimesi ile tanımlanır:

class Ogrenci:
def __init__(self, isim, yas):
self.isim = isim
self.yas = yas

ogrenci1 = Ogrenci("Ali", 21)
print(ogrenci1.isim) # Ali
print(ogrenci1.yas) # 21

3.2. Metotlar

Metotlar, nesne üzerinde işlemler gerçekleştiren işlevlerdir:

class Ogrenci:
def __init__(self, isim, yas):
self.isim = isim
self.yas = yas

def selamla(self):
print(f"Merhaba, benim adım {self.isim} ve {self.yas} yaşındayım.")

ogrenci1 = Ogrenci("Ali", 21)
ogrenci1.selamla() # Merhaba, benim adım Ali ve 21 yaşındayım.

4. Kalıtım (Inheritance)

Kalıtım, bir sınıfın başka bir sınıftan özellik ve metotları miras almasını sağlar:

class Hayvan:
def __init__(self, isim):
self.isim = isim

def ses_cikar(self):
pass

class Kopek(Hayvan):
def ses_cikar(self):
return "Hav hav!"

class Kedi(Hayvan):
def ses_cikar(self):
return "Miyav!"

kopek = Kopek("Karabaş")
kedi = Kedi("Tekir")

print(f"{kopek.isim} ses çıkarır: {kopek.ses_cikar()}")
print(f"{kedi.isim} ses çıkarır: {kedi.ses_cikar()}")

Bu kodda, Hayvan sınıfı temel sınıf olarak tanımlanır ve Kopek ve Kedi sınıfları bu sınıftan kalıtım alır.

5. Sonuç

Bu yazıda, Python’da Nesne Yönelimli Programlamaya (OOP) giriş yaptık ve sınıflar, nesneler, özellikler, metotlar ve kalıtım konularını ele aldık. OOP, daha organize ve yeniden kullanılabilir kod yazmanıza olanak tanır. Bu konuları uygulayarak Python programlama becerilerinizi geliştirebilirsiniz.

Bir sonraki yazıda, Python’da modüller ve paketler konularını ele alacağız. Takipte kalın ve mutlu kodlamalar!

Daha Fazlası İçin

ChatGPT ile Python Eğitimi sayfamızı ziyaret ederek daha fazla kaynağa ulaşabilirsiniz.

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Master Spring Ter
Master Spring Ter

Written by Master Spring Ter

https://chatgpt.com/g/g-dHq8Bxx92-master-spring-ter Specialized ChatGPT expert in Spring Boot, offering insights and guidance for developers.

No responses yet

Write a response