Nesne Yönelimli Programlama – 1

Ocak 23, 2020 0 Yazar: alikperislam
#################### 1.ders :
# NYP sınıflar arası kullanım için vardır, bir işlem üst sınıfta varsa terardan yazmaya gerek kalmadan üst sınıftan miras alabiliriz ve kullanabiliriz.
## nesne yönelimli programlama -- sınıf(class) kavramı :
class araba(): #veri tipimiz araba olmuş oluyor.
    model= "Renault Megane"
    renk = "siyah"
    beygir_gücü= 110
    silindir_sayısı=4
    #yukarda ki özelliklerden bir araba objesi oluşturucaz şimdi de...
araba1=araba() #araba1 diye bir obje oluşturduk araba veri tipimizden.
print(araba1) # araba1 diye bir obje oluşturuldu diyecek.
#araba2=araba() #bu şekilde
#araba3=araba() #sonsuz tane obje oluşturabilirim tek bir veri tipimizden .
print(araba1.model) # bu şekilde modelini öğrenebiliyoruz.
print(araba1.renk) # bu şekilde yine rengini de öğrenebiliyoruz.
print(araba.model) #yine model aynı çıkacak veri tipimiz de de çünkü aynı nesneler var

###constructer fonk.
## not = farklı objeler üretmek istiyorsak init fonksiyonunu kullanacağız.
# __init__() fonksiyonu :
class araba():
    model="Renault Megane"
    renk="Siyah"
    beygir_gücü=110
    silindir_sayısı=4
    def __init__(self): #self : anahtar kelimedir.
        print("init fonksiyonu çağırıldı.")
araba1=araba()
print(araba1) #init fonksiyonunu çağırıcak önce.

class araba():
    def __init__(self,model="bilgi yok",renk="bilgi yok",beygir_gücü=70,silindir_sayısı=3): #self : anahtar kelimedir.
        print("init fonksiyonu çağırıldı.")
        #tanımlamalarımızı yapıcaz...
        self.model=model
        self.renk=renk
        self.beygir_gücü=beygir_gücü
        self.silindir_sayısı=silindir_sayısı
araba3=araba("Renault Clio","siyah",200,4)
araba4=araba("togg","gümüş",400,2)
print(araba3) #sadece init fonksiyonu çağırıldı der yine.
print(araba4) #sadece init fonksiyonu çağırıldı der yine.
print(araba3.model) #araba3 ün modelini tanımlamıştık init ile onu yazacak.
print(araba4.model)  #araba4 ün modelini tanımlamıştık init ile onu yazacak.

araba=araba()
print(araba.model) #bilgi yok diyecek çünkü tanımlamadık tekrardan.
print(araba3.model) #clio diyecek çünkü daha sonradan tanımlamasını yaptık.