თვისებები და მეთოდები
თვისება, მეთდი და კონსტრუქტორი.
თვისება/property ასევე ცნობილი როგორც 'ატრიბუტი/attribute') და მეთოდი
მნიშვნელოვანია იცოდეთ ამ ორი ტერმინის გასზაღვრება რადგან ისინი ხშირად შეგხვდებათ დოკუმენტაციებსა და თუთორიალებში. თანაც განმარტება საკმაოდ მარტივია. ცვლადს რომელიც განსაზღვრულია კლასში თვისება (ატრიბუტი) ქვია. ხოლო კლასის/ობიექტის ფუნქციებს კი მეთოდებს ვეძახით. simple as that. რაც შეეხება კონსტრუქტორს, ის წარმოადგენს სპეციალურ მეთოდს რომელიც გვეხმარება ობიექტის ინიციალიზაციაში. ყველაზე ხშირად მას ვიყენებთ კლასის თვისებებისთვის საწყისი მნიშვნელობის მისანიჭებლად. კონსტრუქტორის გამოყენებით გაცილებით სუფთა და მარტივი კოდი იწერება.
სტატიკური მეთოდები და თვისებები
არსებობს შემთხვევები როდესაც გვინდა რომ კლასის ყოველ ინსტანსს, ანუ კლასის შესაბამის ყოველ ობიექტს გააჩნდეთ ისეთი თვისებები რომელთა მნიშვნელობაც იქნება საერთო. ან გვქონდეს რაიმე ფუნქციონალი რომლისთვისაც არ გვინდა აუცილებელი იყოს ინსტანსის შექმნა. სწორედ აქ გვჭირდება სტატიკური მეთოდებისა თუ თვისებების გამოყენება.
მაგალითად განვიხილოთ შემთხვევა როდესაც გვაქვს კლასი Movie და გვინდა მუდმივად ხელმისაწვდომად გვქონდეს ინფორმაცია იმაზე თუ ამ კლასის რამდენი ინსტანსი არის ამწამს პროგრამაში, ანუ რამდენი ობიექტია შექმნილი ამწამს კონკრეტული კლასის მიხედვით.
ამის მისაღწევად საკმარისია გამოცხადებისას static ქივორდი ჩავუწეროთ count თვისება და კონსტრუქტორში (რომელიც ყოველი ახალი ობიექტის შექმნისას გამოიძახება) გავზარდოთ ჩვენი count ცვლადის მნიშვნელობა.
თუ დააკვირდები კონსტრუქტორში ვიყენებთ self::$count სინტაქსს და არა $this->count. ეს კი გამოწვეულია იმით, რომ self მიერმართება კლასს ხოლო this კი კლასის ინსტანს ანუ ოებიექტს რომელიც კლასის აღწერის ეტაპზე რათქმაუნდა ვერ გვექნება შექმნილი. ასევე კლასის გარეთ, კოდში თუ დააკვირდები ამ ფრაგმენტებს: echo Movie::$count და Movie::bestMovieEver(); ჩვენ არ გვჭირდება ინსტანსი რომ მივწვდეთ სტატიკურ თვისებასა თუ მეთოდს.
Last updated