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

fixing punctuation in lecture 03 #59

Open
wants to merge 1 commit 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/03-oop.slim
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
= slide 'Енкапсулация' do
blockquote cite='http://en.wikipedia.org/wiki/Encapsulation_(object-oriented_programming)' Encapsulation is the packing of data and functions into a single component.

p Има много механизми, с които можем да го реализираме, но обектно ориентираното програмиране е един от най-популярните
p Има много механизми, с които можем да го реализираме, но обектно-ориентираното програмиране е един от най-популярните

= slide 'Information hiding' do
blockquote cite='http://stackoverflow.com/a/24748' Abstraction and encapsulation are complementary concepts: abstraction focuses on the observable behavior of an object... encapsulation focuses upon the implementation that gives rise to this behavior... encapsulation is most often achieved through information hiding, which is the process of hiding all of the secrets of object that do not contribute to its essential characteristics.
Expand Down Expand Up @@ -94,7 +94,7 @@
img.action src='3/mind_blown.gif'

= slide 'Класове' do
p Създаваме класове с ключовата дума <code>class</code>, след което всяка функция дефинирана в тялото на класа е метод, а всяка променлива е клас променлива
p Създаваме класове с ключовата дума <code>class</code>, след което всяка функция, дефинирана в тялото на класа, е метод, а всяка променлива е клас променлива

= slide 'Примерен клас Vector' do
example:
Expand All @@ -115,7 +115,7 @@
= slide 'Забележки' do
p „Конструктор“ е думата, с която сте свикнали, но в случая далеч по-подходяща е „инициализатор“, както си личи от името

p Въпреки, че при инстанциране на обект подаваме аргументите, които очаква инициализаторът, той не е първият метод, който се извиква в този момент, но за сега не влагайте много мисъл в това, просто го имайте предвид
p Въпреки че при инстанциране на обект подаваме аргументите, които очаква инициализаторът, той не е първият метод, който се извиква в този момент, но засега не влагайте много мисъл в това, просто го имайте предвид

= slide 'Примерен клас Vector (2)' do
example:
Expand Down Expand Up @@ -157,9 +157,9 @@

p Ограниченията за използване на защитени и частни методи в класовете в python са отговорност на програмиста, което по никакъв начин не прави живота ви по-труден

p Методи/атрибути започващи с _ са защитени, т.е. би следвало да се ползват само от методи на класа и наследяващи го класове
p Методи/атрибути, започващи с _, са защитени, т.е. би следвало да се ползват само от методи на класа и наследяващи го класове

p Методи/атрибути започващи с __ са частни, т.е. би следвало да се ползват само от методи на класа
p Методи/атрибути, започващи с __, са частни, т.е. би следвало да се ползват само от методи на класа

p Достатъчно очевидно е, а в някои много редки случаи може да се наложи тези ограничения да не се спазят

Expand All @@ -185,7 +185,7 @@
li mutable са обекти, които променят вътрешното си състояние във времето
li immutable са обекти, които никога не променят вътрешното си състояние

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

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

Expand Down Expand Up @@ -216,7 +216,7 @@
self.y / length, self.z / length)


= slide 'normalize vs normalized' do
= slide 'normalize vs. normalized' do
example:
class Vector:
...
Expand Down Expand Up @@ -317,7 +317,7 @@


= slide 'Класови методи' do
p Можете да използвате и @classmethod за да получите класа, от който е извикан методът като първи аргумент
p Можете да използвате и @classmethod, за да получите класа, от който е извикан методът като първи аргумент
example:
class Countable:
_count = 0
Expand Down