π§ ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ, ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ
𧬠ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ (Inheritance)
ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ.
class Animal:
def speak(self):
print("Animal speaks")
class Dog(Animal): # Dog Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ Animal
def speak(self):
print("Woof!")
dog = Dog()
dog.speak() # β Woof!
πΉ ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ:
β’ ΠΠΎΠ΄ΠΊΠ»Π°ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ.
β’ super() ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΎΠ΄ΠΈΡΠ΅Π»Ρ:
class Cat(Animal):
def speak(self):
super().speak()
print("Meow!")
π ΠΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΡ (Encapsulation)
Π‘ΠΊΡΡΡΠΈΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. Π Python β ΡΠ΅ΡΠ΅Π· ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ:
ΠΡΠ΅ΡΠΈΠΊΡ | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ |
---|---|
public | Π±Π΅Π· ΠΏΠΎΠ΄ΡΡΡΠΊΠΈΠ²Π°Π½ΠΈΡ (self.x) |
_protected | Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠΎΠ΄ΡΡΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ (self._x) β ΠΏΠΎ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΡΠ½Π½ΠΎΡΡΠΈ |
__private | Ρ Π΄Π²ΡΠΌΡ ΠΏΠΎΠ΄ΡΡΡΠΊΠΈΠ²Π°Π½ΠΈΡΠΌΠΈ (self.__x) β βΠ½Π°ΡΡΠΎΡΡΠ΅Π΅β ΡΠΎΠΊΡΡΡΠΈΠ΅ |
class User:
def __init__(self, name):
self.name = name # public
self._id = 123 # protected (Π½Π΅ ΡΡΠΎΠ³Π°ΠΉ Π±Π΅Π· Π½ΡΠΆΠ΄Ρ)
self.__password = "1234" # private
def get_password(self):
return self.__password
π ΠΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ (Polymorphism)
ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Ρ ΡΠ°Π·Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² β ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ°Π·Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.
class Bird:
def make_sound(self):
print("Tweet")
class Cow:
def make_sound(self):
print("Moo")
def animal_sound(animal):
animal.make_sound()
animal_sound(Bird()) # Tweet
animal_sound(Cow()) # Moo