Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

04 fixes #66

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions lectures/04-oop.slim
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
>>> inc(3)
>>> dec(7)
p.action 9
p.action 3
p.action -1

= slide 'Ko?!' do
example:
Expand All @@ -53,7 +53,7 @@
p Обектно-ориентирано програмиране

= slide 'От идейна гледна точка' do
p Разбирайте „запрограмирането генерално“
p Разбирайте „за програмирането генерално“
ol
li Абстракция
li Енкапсулация
Expand Down Expand Up @@ -87,7 +87,7 @@
ol
li Всичко е обект
li Обектите са отворени
li Класовете са отворение
li Класовете са отворени

p Последните две с някои малки уговорки, които обаче рядко ще ви интересуват

Expand Down Expand Up @@ -131,7 +131,7 @@
li „Конструктура“ се казва <code>__init__</code>, той не връща стойност
li Първия аргумент на методите винаги е инстанцията, върху която се извикват, той може да се казва всякак, но винаги се казва <code>self</code> , иначе губите огромни количества точки/колегите ви ви мразят/никой не иска да си играе с вас в пясъчника
li Атрибутите („член-променливите“/„член-данните“) не се нуждаят от декларации (обектите са отворени)
li Инстанцираме клас, като го „извикаме“ със съответните аргументи, които очаква <code>__init__</code> метода му и като резултат получаваме новоконстурирания обект
li Инстанцираме клас, като го „извикаме“ със съответните аргументи, които очаква <code>__init__</code> метода му и като резултат получаваме новоконструирания обект

= slide 'Забележки' do
p „Конструктор“ е думата, с която сте свикнали, но в случая далеч по-подходяща е „инициализатор“, както си личи от името
Expand Down Expand Up @@ -203,10 +203,10 @@
p Mutable vs. Immutable

ul
li mutable са обекти, които променят вътрешното си състояние във временто
li immutable са обекти, които никгоа не променят вътрешното си състояние
li mutable са обекти, които променят вътрешното си състояние във времето
li immutable са обекти, които никога не променят вътрешното си състояние

p Най-общо повечето обекти в python са mutable, до колкото езика не ни забранява да ги променяме
p Най-общо повечето обекти в python са mutable, доколкото езика не ни забранява да ги променяме

p.action Какво в python знаем, че е immutable?

Expand Down Expand Up @@ -269,7 +269,7 @@
return self._coords == other._coords

= slide 'dunder methods' do
p Известни още като "magic methods", dunder(doule under) методите в python най-често предефинират някакъв аспект от поведението на обектите ни
p Известни още като "magic methods", dunder(double under) методите в python най-често предефинират някакъв аспект от поведението на обектите ни

= slide 'Аритметични оператори' do
ul
Expand Down