De exemplu, există o astfel de clasă "Omenirea". Omenirea are o caracteristică a "creșterii medii", nu este aplicabilă unei persoane individuale. Metoda care calculează creșterea medie și variabila însăși care stochează trebuie să fie statică.
O instanță a clasei Omenire este un individ. O singură persoană poate avea propriile sale creșteri specifice, greutatea, culoarea părului și așa mai departe, poate să meargă, să mănânce, să vorbească - aceste metode și variabile trebuie să fie dinamice.
Imaginați-vă un site cu o comandă de pizza. Obiect-coș, a adăugat mai multe obiecte diferite - pizza cu preț diferit și obiect-cola. Trebuie să calculam valoarea ordinului, numită metoda coș-> get amount (). Această metodă trece prin toate bunurile din coș și numără suma.
Acum, să ne imaginăm că metoda de a obține suma () pe care o facem de dragul experimentului este statică. De unde poate obține datele pentru calcul?
Acum, imaginați-vă obiectul "Config" și metoda lui "config :: obțineți valoarea (" cheie ")"
O astfel de configurație poate fi făcută singură sau chiar făcută statică.
Multumesc) un bun exemplu) Eu doar a lua-o în principiu, astfel încât coș-> obține o sumă ($ date) sau coș-> obține o sumă ($ param1, $ param2), atunci eu nu programarea corect? (
deniska_kuzmenko. Deci nu aveți OOP. Nu există obiecte, iar clasa este utilizată doar ca un depozit / neimspace / un wrapper pentru funcții.
Stalker_RED. ai dreptate, probabil că este (este rău? o astfel de metodă este greșită și este mai bine să o furiți așa că scriu codul?
deniska_kuzmenko. în special opriți "așa scrie" nu este necesar. Este necesar să înțelegem ce este un obiect și în ce cazuri merită să descrieți și să începeți să aplicați treptat această cunoaștere. De asemenea, scrierea de clase pentru fiecare strănut este redundantă.