Objektovo orientované programovanie | Lekcia 9 | Encapsulation

Sdílet
Vložit
  • čas přidán 7. 06. 2024
  • Materiály z lekcie nájdete na:
    github.com/misohu/oop_in_pyth...
    Návod na inštaláciu pythonu na Windows: • Python kurz v Slovenči...
    Návod na inštaláciu a konfiguráciu VS code: • Python kurz v Slovenči...
    Základy objektovo orientovaného programovania sú pokračovaním série kurzov v pythone na kanáli Informatika s Mišom. Ak ste absolútny python začiatočníci vrelo odporúčam zájsť na úvodný kurz základov programovania v pythone.
    Ahojte moje meno je Mišo a pracujem ako machine learning devops inžinier. Som bývalý doktorand na FIIT STU. V mojich kurzoch Vás chcem naučiť programovať nech ste akokoľvek starí. Moje kurzy sú pre každého, kto sa chce naučiť programovať. Moje kurzy sú ZADARMO a nikto za ne nemusí platiť. Ak máte otázky som tu pre Vás napíšte mi komentár, alebo správu na moje sociálne siete. Ak ma chcete podporiť dajte odber, zdieľajte a najmä pozerajte moje videá.
    .
    #oop #overriding #encapsulation
    .
    👨‍👩‍👧‍👦 Discord: / discord
    💵 Patreon: / informatikasmisom
    🎥 CZcams: / informatikasmišom
    📸 Instagram: / informatikasmisom
    👍 Facebook: / informatikasmisom
    💻 Github: github.com/misohu
    🤵 LinkedIn: / michal-hucko
    🏫 Skillshare: www.skillshare.com/r/profile/...
    .
    00:00 Úvod
    00:30 Čo je to enkapsulácia
    02:32 Zmena stavu pomocou geterov a seterov
    03:59 Riešenie enkapsulácie v pythone
    05:40 Enkapsulácia v pythone pomocu name mangling (technická časť)
    11:38 Vlastné getery a setery (technická časť)
    13:55 Ako obísť mangling (technická časť)
    16:16 Slovník atribútov a funkcii (technická časť)
    17:56 Enkapsulácia a dedenie (technická časť)
    19:41 Záver

Komentáře • 5

  • @janmarecek1180
    @janmarecek1180 Před 3 lety +1

    Ahoj neviete mi poradiť prečo dostavam Invalid syntax ?
    class Curve:
    __center = 10
    slope = 3

    def __init__(self, x, y):
    self.__x = x
    self.__y = y
    def __print_slope(self):
    print(Curve.slope)

    def get_x(self):
    return self.__x

    def set_x(self):
    self.__x=value

    def print_coordinates(self):
    print(f"x: {self.__x} y: {self.__y}")
    line = Curve(3, 4)
    print(line.get_x())

  • @tomasmajek7690
    @tomasmajek7690 Před rokem

    musím řict, že 'public','private','protected' z PHP mi přijde dost přehlednější...

    •  Před rokem

      Rozhodne :) ale v zasade je protected uplne zbytocny ale to je na dlhu diskusiu. Odporucam vygooglit temu "Why protected variables break encapsulation"

    • @branovislocky
      @branovislocky Před rokem

      @ tu si dovolim nesuhlasit ... niekedy je vhodne zmenit premennu instancie tiedy v zdedenej instancii bez toho, aby som jej zmenu 'notifikoval' cez pouzitie volania metody .. zvycajne sa to nedeje casto, ale je fajn (v pripade potreby) tuto moznost mat ...