Python OOP Metodları

Baysan
Nov 19, 2020

--

Merhabalar, bu yazımda Python’daki metod türlerinden bahsetmeye çalışacağım.

Metodlarda 3 türümüz vardır.

  • Obje metodları -> sınıflardan ürettiğimiz objeler üzerinden direkt erişebildiğimiz methodlardır
  • Sınıf metodları -> sadece sınıflar üzerinden erişebildiğimiz metodlardır
  • Static metodlar -> hem sınıf hem de objeler üzerinden çağrılabilen metodlardır

Metodlar da birer fonksiyondur. Sanırım şu şekilde bir ayrım yaparsak hata yapmış sayılmayız: bir sınıfa ait fonksiyonları metod, anonim olanları ise direkt fonksiyon olarak adlandırabiliriz.

Ön Hazırlık

Aşağıdaki User sınıfını kullanarak örneklerimizi gerçekleştireceğiz.

Obje Metodları

Bir sınıftan ürettiğimiz objeler üzerinden bu metodlara erişebiliriz. instance.method() kullanımı ile bu metodları kullanabiliriz. Herhangi bir decorator almazlar. Parametre olarak self keywordunu alırlar.

Bu metodu user.introduce_yourself() şeklinde kullanabiliriz.

Sınıf Metodları

Bu metodlar ise parametre olarak sınıfı (cls -> genel kullanım) yani kendilerini alırlar. Obje metodlarında self.username olarak objenin özelliklerine erişirken burada cls.metod diyerek sınıflar üzerinde işlem yaparız. @classmethod decoratorunu kullanırlar.

Bu metodumuzda cls(*row) ile User sınıfından oluşturulmuş bir objeyi return ediyoruz. cls parametresi sınıfın kendisini temsil etmektedir. Bu metodu ise şu şekilde kullanmaktayız.

Static Metodlar

Static metodlar ise ne obje ne de sınıf metodlarıdır. Sınıfların içinde yazılabilirler fakat aralarındaki temel ayrım şudur: sınıf metodları sınıfın kendisi ile ilgilenirken static metodlar parametrelerle ilgilenir. Sınıf içerisinde faydalı fonksiyonları topluyoruz gibi düşünebiliriz. Aldıkları parametreler sınıfı veya objeyi temsil etmez.

Hem objelerden hem de sınıflardan erişebiliriz.

Umarım faydalı olmuştur. Sağlıklı günler dilerim.

--

--

Baysan
Baysan

Written by Baysan

Lifelong learner & Developer. I use technology that helps me. mebaysan.com

No responses yet