Sobes.tech
Junior — Middle

Mi a különbség az osztály tulajdonsága és egy egyedi objektum tulajdonsága között a programkódban?

sobes.tech MI

Válasz az MI-től

Egy osztály tulajdonsága egy olyan attribútum, amely maga az osztályhoz tartozik, és minden példányára közös. Egy objektum tulajdonsága pedig egy olyan attribútum, amely egy adott osztálypéldányhoz tartozik.

Ha módosítja az osztály tulajdonságát, ez a módosítás minden olyan objektumban látható lesz, amely nem írta felül ezt a tulajdonságot. Ha módosítja az objektum tulajdonságát, az csak arra az adott példányra lesz hatással.

Példa:

class MyClass:
    class_attr = 10  # osztály tulajdonsága

obj1 = MyClass()
obj2 = MyClass()

print(obj1.class_attr)  # 10
print(obj2.class_attr)  # 10

obj1.class_attr = 20  # létrejön egy objektum tulajdonság az obj1 számára

print(obj1.class_attr)  # 20 (objektum tulajdonság)
print(obj2.class_attr)  # 10 (osztály tulajdonság)
print(MyClass.class_attr)  # 10

MyClass.class_attr = 30
print(obj2.class_attr)  # 30 (frissített osztály tulajdonság)
print(obj1.class_attr)  # 20 (az objektum tulajdonsága nem változott)

Így az osztály tulajdonságai közös értékeket határoznak meg, míg az objektum tulajdonságai minden példány számára egyediek.

Mi a különbség az osztály tulajdonsága és egy egyedi… - sobes.tech