top of page

BİLGİSAYAR BİLİMİ KUR 1 - 2. DÖNEM 10. HAFTA - NESNE YÖNELİMLİ PROG. - ÖZELLİKLER VE METODLAR - ATTRİBUTES AND METHODS

Güncelleme tarihi: 28 Oca

ÜNİTE:


1.3. PROGRAMLAMA


KAZANIMLAR:


1.3.3.7. Farklı veri yapılarını (listeler, sözlükler vb.) kullanarak programlar geliştirir.





PYTHON - OOP - Özellikler (Attributes) ve Metodlar (Methods)


Özellikler (Attributes) ve Metodlar (Methods), nesne yönelimli programlamada (OOP) önemli iki temel kavramdır. Bu kavramları daha iyi anlamak için, bunları bir sınıf (class) içinde nasıl kullanıldığını ve ne işe yaradığını açıklamak faydalı olacaktır.


1. Özellikler (Attributes)


Özellikler, bir sınıfın nesnesine ait veri ya da bilgiyi temsil eder. Başka bir deyişle, bir sınıfın nesnesinin durumunu tanımlar. Özellikler, genellikle nesnenin özelliklerini saklamak için kullanılır.

Özellikler şunlar olabilir:


  • Nesneye özgü bilgiler: Örneğin, bir "Araba" sınıfında, renk, model, yıl gibi özellikler olabilir.

  • Genel veriler: Bir sınıf, tüm nesneleri için ortak olan özelliklere sahip olabilir. Örneğin, tüm çalışanlar için bir şirketin adı gibi.


Özellikler, genellikle değişkenler olarak tanımlanır. Sınıf içinde, self anahtar kelimesiyle belirlenir. Bu, nesnenin kendisini temsil eder.


Örnek:


Burada renk, model, ve yıl sınıfın özellikleridir. Her bir Araba nesnesi bu özelliklere sahip olacaktır.












2. Metodlar (Methods)


Metodlar, sınıfın nesneleri üzerinde yapılacak işlemleri veya davranışları tanımlar. Bir sınıfın işlevsel özelliklerini belirlerler. Metodlar, sınıfın içindeki fonksiyonlardır ve genellikle nesne üzerinde işlem yapmak için kullanılırlar.



Metodlar, genellikle nesnenin özellikleri üzerinde işlem yapar veya nesneye bir işlem uygular. Metodlar da, sınıf içinde self anahtar kelimesiyle tanımlanır.


Örnek:



Burada arabanin_bilgisi bir metoddur. Bu metod, arabanın özelliklerini birleştirerek kullanıcıya bilgi döndürür.














Özellikler ve Metodlar Arasındaki Farklar

Özellikler (Attributes)

Metodlar (Methods)

Nesneye ait veriyi temsil eder.

Nesne üzerinde yapılacak işlemleri tanımlar.

Genellikle değişken olarak tanımlanır.

Fonksiyon olarak tanımlanır.

Nesnenin durumunu saklar.

Nesnenin davranışını tanımlar.

Genelde init metodunda tanımlanır.

Sınıf içindeki fonksiyonlardır.












Özellikler ve Metodlar Birlikte Kullanıldığında


Bir sınıfın hem özellikleri hem de metodları birlikte kullanıldığında, o sınıf bir nesne gibi davranır. Nesnenin durumu (özellikler) metodlar tarafından değiştirilir veya kontrol edilir.



Burada:


  • arabanin_bilgisi metodu, aracın bilgilerini döndürür.

  • araba_yasi metodu, aracın yaşını hesaplar.

Her iki metodun da, nesnenin özelliklerine (renk, model, yıl) erişimi vardır.


Sonuç


  • Özellikler (Attributes): Nesnenin durumunu temsil eder ve veri saklamak için kullanılır.

  • Metodlar (Methods): Nesnenin davranışını tanımlar ve nesne üzerinde işlem yapar.


Bu kavramları anladıktan sonra, nesne yönelimli programlamadaki sınıfları daha etkili bir şekilde kullanabilirsiniz.




















PYTHON - OOP - Özellikler (Attributes) ve Metodlar (Methods) Özet Video:


















PYTHON - OOP - Özellikler (Attributes) ve Metodlar (Methods) Alıştırması:



Alıştırma 1: Köpek Sınıfı


Bir Köpek sınıfı oluşturun. Bu sınıfın aşağıdaki özelliklere ve metodlara sahip olmasını sağlayın:


1. Özellikler:


  • isim: Köpeğin adı (string)

  • yaş: Köpeğin yaşı (integer)

  • ırk: Köpeğin ırkı (string)

  • renk: Köpeğin rengi (string)


2. Metodlar:


  • koş: Bu metod köpeğin koştuğunu belirten bir mesaj yazdırmalı. Örneğin: "Koşuyorum!"

  • havla: Bu metod, köpeğin havladığını belirten bir mesaj yazdırmalı. Örneğin: "Hav! Hav!"

  • yaş_hesapla: Bu metod, köpeğin insan yaşına karşılık gelen yaşını hesaplamalı. Köpeklerin yaşını hesaplamak için genellikle şu formül kullanılır:

    • İlk iki yıl köpeğin yaşının 10.5 katı,

    • Sonraki her yıl için 4 katı.


Adımlar:


  1. Köpek sınıfını oluşturun.

  2. Yukarıdaki özellikleri sınıfın yapıcısında (constructor) tanımlayın.

  3. Metodları tanımlayın:

    • koş() metodunu yazın.

    • havla() metodunu yazın.

    • yaş_hesapla() metodunu yazın.

  4. Sınıfı test edin: Farklı köpekler oluşturup onların metodlarını çağırın.



Çözüm:



Beklenen Çıktı:





Alıştırma Değerlendirmesi:


  • Özellikler: Her köpek nesnesi, isim, yaş, ırk, renk gibi özelliklere sahiptir.

  • Metodlar: Köpeğin koş ve havla gibi davranışları ve yaş_hesapla gibi hesaplamaları vardır.


Bu alıştırma, sınıfın içindeki özellikler ve metodlar arasındaki ilişkiyi anlamanıza yardımcı olacaktır.

Ayrıca, sınıfın işlevselliğini genişleterek daha fazla özellik veya metod ekleyebilirsiniz!












Alıştırma 2: Oyun Karakteri Sınıfı


Bir rol yapma oyunu (RPG) karakteri için Python'da bir sınıf yazınız. Aşağıdaki özelliklere sahip bir OyunKarakteri (GameCharacter) sınıfı oluşturunuz:


1. OyunKarakteri Sınıfı Özellikleri:

  • ad: Karakterin adı (string).

  • seviye: Karakterin seviyesini tutan bir tam sayı (integer).

  • can: Karakterin canını tutan bir tam sayı (integer). Başlangıçta 100 olmalı.

  • zırh: Karakterin zırhını tutan bir tam sayı (integer). Başlangıçta 0 olmalı.

  • silah: Karakterin kullandığı silah. Bu, başka bir sınıf olan Silah sınıfından bir nesne olmalıdır. Silahın hasar (damage) özelliği de olmalıdır.


2. OyunKarakteri Sınıfı Metodları:

  • saldır(self, hedef): Bu metod, karakterin hedefe saldırmasını sağlar. Saldırı sırasında hedefin can değerinden, karakterin silahının hasar değeri kadar azaltma yapılmalıdır.

  • savun(self): Bu metod, karakterin savunma pozisyonu almasını sağlar. Savunma pozisyonu alındığında, karakterin zırhı artmalı. Savunma pozisyonu alındığında mesaj yazdırılmalıdır.

  • seviye_atla(self): Bu metod, karakterin seviyesini bir artırır. Ayrıca, her seviye atladığında, karakterin canı 10, zırhı ise 5 artar. Seviye atladığında mesaj yazdırılmalıdır.


3. Silah Sınıfı Özellikleri:

  • isim: Silahın adı (string).

  • hasar: Silahın hasar değeri (integer).


4. Test Edilmesi Gereken Durumlar:

  • Bir karakter oluşturunuz ve bu karakterin savunma pozisyonuna geçmesini sağlayınız.

  • Karakter bir hedefe saldırarak hedefin canını azaltınız.

  • Karakter seviyesini artırarak can ve zırh değerlerini kontrol ediniz.



Çözüm:



Açıklamalar:

  • Silah Sınıfı: Silah sınıfı, her silahın isim ve hasar özelliklerine sahip. Silahlar, karakterlerin saldırılarını belirliyor.

  • OyunKarakteri Sınıfı: OyunKarakteri sınıfı, karakterlerin adını, seviyesini, canını, zırhını ve kullandıkları silahı tutar. Karakterlerin savunma, saldırı ve seviye atlama gibi metodları vardır.

  • Savunma: savun metodu, karakterin zırhını artırır. Burada savunma pozisyonu alındığında zırh 5 artmaktadır.

  • Saldırı: saldır metodu, bir hedefe saldırı yapar ve hedefin canını, silahın hasar değerine göre azaltır.

  • Seviye Atlama: seviye_atla metodu, karakterin seviyesini artırır ve buna bağlı olarak canı ve zırhı da artar.


Beklenen Çıktı:















PYTHON - OOP - Özellikler (Attributes) ve Metodlar (Methods) Alıştırma Çözümü Özet Video:


















Ödev:


Görev: Köpek Sınıfı


Bir Köpek sınıfı oluşturun. Bu sınıfın aşağıdaki özelliklere ve metodlara sahip olmasını sağlayın:


1. Özellikler:


  • isim: Köpeğin adı (string)

  • yaş: Köpeğin yaşı (integer)

  • ırk: Köpeğin ırkı (string)

  • renk: Köpeğin rengi (string)


2. Metodlar:


  • koş: Bu metod köpeğin koştuğunu belirten bir mesaj yazdırmalı. Örneğin: "Koşuyorum!"

  • havla: Bu metod, köpeğin havladığını belirten bir mesaj yazdırmalı. Örneğin: "Hav! Hav!"

  • yaş_hesapla: Bu metod, köpeğin insan yaşına karşılık gelen yaşını hesaplamalı. Köpeklerin yaşını hesaplamak için genellikle şu formül kullanılır:

    • İlk iki yıl köpeğin yaşının 10.5 katı,

    • Sonraki her yıl için 4 katı.


Adımlar:


  1. Köpek sınıfını oluşturun.

  2. Yukarıdaki özellikleri sınıfın yapıcısında (constructor) tanımlayın.

  3. Metodları tanımlayın:

    • koş() metodunu yazın.

    • havla() metodunu yazın.

    • yaş_hesapla() metodunu yazın.

  4. Sınıfı test edin: Farklı köpekler oluşturup onların metodlarını çağırın.




Oluşturduğunuz kodların fotoğrafını aşağıdaki mail adresine gönderiniz.


Maile isim soy isim, sınıf ve okul numarası bilgilerinizi yazmayı unutmayınız.


egitimdebil@gmail.com


Önerilen program: IDE - PYTHON (Bilgisayarla çalışmayanlar, kodları deftere yazıp fotoğrafını gönderebilirler.)


Bilişim Teknolojileri Öğretmeni: İshak BEZCİ


Son gün ve saat : Pazar gece 12.00



Comentarios


bottom of page