Object Oriented Programlama # 2 - Python Dersleri (Tutorials)

View this thread on: d.buzz | hive.blog | peakd.com | ecency.com
·@elektroyazilim·
0.000 HBD
Object Oriented Programlama # 2 - Python Dersleri (Tutorials)
![object.jpg](https://cdn.steemitimages.com/DQmb9SAwWzX6XvD758tzXyxhUrmFP8vUQf9MkpbUpz3x6tm/object.jpg) 

Merhabalar

Python programlama derslerinin bir önceki dersinde nesne tabanlı programlamanın mantığını anlamaya çalışmıştık. Bu dersimizde sınıflar konusuyla devam edelim.

Ama öncesinde nelerden bahsettik hatırlayalım. Nesne tabanlı programlama yaklaşımı, gerçek hayatı programlamaya uyarlama çabasıdır.

_Object Oriented Programlama_  pek çok  yazılım geliştirme tekniğinden sadece biridir. Bu yöntemin kullanılması gibi bir zorunluluk bulunmamaktadır.

Ancak bu teknik sayesinde kod tekrarının önüne geçilerek, en verimli şekilde program yazılabilmektedir.

Program geliştirme alanında oldukça yaygın kullanılan bir teknik olduğundan araştırma yaparken karşılaşacağınız kodların çoğunun bu teknikle yazıldığını göreceksiniz. Bu sebeple kullanmasanız dahi yazılan kodları anlayabilmek için bilmekte fayda var.

Şimdi de _nesne tabanlı programlama_nın en önemli konusu olan sınıf (class) kavramından bahsedelim.

## Sınıf (class) Kavramı

_Object oriented programlama_ sayesinde kendi veri tiplerimizi oluşturabiliriz. 

Kendi veri tiplerimizi oluşturup ve bu veri tiplerinden objeler üretmek için öncelikle objeleri üreteceğimiz bir yapı tanımlamalıyız. İşte bu yapıya sınıf (class) diyoruz.

Yani sınıf ya da İngilizce ismiyle class'lar, nesnelerimizi oluştururken nesnenin özelliklerini ve metotlarını  tanımladığımız yapılardır.

Bu yapıyı oluşturduktan sonra her bir objeyi  bu yapıya göre üretebiliriz.

Sınıfları oluştururken _class_ anahtar kelimesini kullanırız. 

Bir sınıf oluşturarak aslında biz Python'a bu sınıf isminde bir obje oluşturacağımızı söylüyoruz. Sonrasında objeleri bu yapıya göre üretiyoruz.

Bu kadar açıklama sanırım yeterli. Uygulama üzerinden gidelim.

![](https://cdn.steemitimages.com/DQmdS2pGzYi2bYTbn5o4tPhJ6vEgVDXGyuLZcSy1ru5FWzE/image.png)

computer adında bir sınıf oluşturduk. Bunun için de _class_ anahtar kelimesini kullandık.  Sınıf içerisinde de bazı özellikler yer almaktadır.

Biz bu sınıftan bir nesne oluşturacağımız zaman bu özelliklerin her biri o nesneye yüklenecektir.

Aslında biz computer adında bir sınıf oluştururken Python'a "biz bir nesne oluştururken bu özellikleri istiyoruz", diyoruz..

computer sınıfından bir nesne oluşturacağımız zaman bu nesnenin model, typee  ve color özellikleri olacak.  

Şimdi bir sınıftan bir nesne nasıl oluşturulur onu görelim:

![](https://cdn.steemitimages.com/DQmafUmoPRPcZNVaNC2P6m6vF7nTycxP7ctLH7vX6F1MXrB/image.png) 

Görüldüğü gibi ilk olarak nesnenin ismi sonrasında atama operatörü ve veri tipinin ( class'ın) ismi getirildikten sonra aç-kapa parantezler gelmektedir.

Oluşturduğumuz nesneyi aşağıdaki gibi 

![](https://cdn.steemitimages.com/DQmQaeJnaJ7dJBG8XKV8z1kU89Lw4FCeUBjCtuAE3Kru1EQ/image.png)

ekrana yazdırdığımızda  gelen mesaj bize, computer sınıfından bir nesne olduğunu söylüyor. Hemen sağ tarafında verilen 0x000.. şeklindeki hex adres ise bu nesnenin bellekte tutulduğu adrestir.

Oluşturduğumuz myCmp nesnesinin içine herhangi bir atama yapmasak da sınıftan gelen default değerler ona aktarılmıştır. Görelim :

![](https://cdn.steemitimages.com/DQmXggUhayWhDcwYtA2SzmynHg3WYAa2g16kKE27WReZKq9/image.png) 

Bu şekilde bir tane nesne oluşturabildiğimiz gibi 1000 tane de oluşturabiliriz. class yapısı böyle bir durumda bize oldukça kolaylık sağlamaktadır. 

Bir sınıf düşünün içerisinde onlarca fonksiyon ve bir o kadar da özellik bulunuyor. Oluşturulan her nesne için aynı değerleri yazmak yerine bir sınıfta toplayıp hazır bir şekilde almak programcıya oldukça kolaylık sağladığı gibi kodun okunabilirliğini  ve verimliliğini artırır.

Şimdilik bu kadar.

Umarım faydalı bir çalışma olmuştur.

Teşekkürler.

![yesilayrca.png](https://cdn.steemitimages.com/DQmYZw2bhUomeivJwQ8CiLaTzXTbJPLd1PsSGdcoEE1DfKP/yesilayrca.png)

Kaynak belirtilmeyen görseller bana aittir. The pictures without source in the post is belong to me
👍 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,