Nesne tabanlı programlamaya giriş

Ark_Us

Kilopat
Katılım
7 Nisan 2017
Mesajlar
850
Makaleler
1
Çözümler
7
Herkese merhaba, nesne tabanlı programlamaya giriş yaptım. Ama tam anlayamadım için buraya atma ihtiyacı hissetdim

Python:
# class


class Person:
 
    # class attributes
    adress = "no iformation"
    # constructor (yapıcı metot)
    def __init__(self , name , year):
        # object attributes
        self.name = name
        self.year = year
        print("init metodu çalıştı")


        # methods
 

# object instance

p1 = Person(name= "alev" , year= 1990)
p1 = Person("alev" , 1990)
p2 = Person(name="celal",year=  1995)
p2 = Person("celal", 1995)

# updaing
p1.name = "ava"
p1.adress = "sit"



# acesing object
print(f"name {p1.name}  year {p1.year} adress: {p1.adress}")
print(f"name {p2.name}  year {p2.year} adress: {p2.adress}")

print(p1)
print(p2)

print(type(p1))
print(type(p2))
print(p1 == p2)

Benim anladığım kadarıyla person adlı bir class (bu class fonksiyona pek benziyor) yazıp, 2 nokta üs üste ile birlikde girinti oluşturuluyor ve class attributes bu, tam olarak ne anlama geliyor bilmiyorum. Çevirisine baktım, sınıf öznitelik anlamı çıktı. Sanırım burası kod hakkında bilgi girilen kısmı, tam emin degilim. Sonra constructor (yapıcı metot) denen bir kod yazılıyor, burada benim anladığım def __init__(self, name, year) bu metot ilk degişkeni ya da parametresi self olma zorundaymış. Bu self aşağıdaki p1 ve p2 temsil ettigi söylendi. Sanırım P1 ve P2'den gelen bilgileri almakla yükümlü aşağıdaki self. Name = name ve self. Year = year bu kısmı pek anladığım söylenemez, burada anladığım kadarıyla P1 içine name alanı uluşuyor ve buradan glass içine name ulaşıyor galiba. Emin degilim, benim anladıgım bu. Sanırım eksik anlamışım gibi görünüyor, yanlış anladıysam lütfen beni düzeltin.

Note: içimden bir ses baya zorlancam gibi geliyor ya bakalım artık pes etmek gibi bir niyetim yok :D
 

Yeni konular

Geri
Yukarı