⊗ppOpTrAMt 83 of 107 menu

ტრეიტების აბსტრაქტული მეთოდები PHP-ის OOP-ში

ტრეიტებში შესაძლებელია ზოგიერთი მეთოდის აბსტრაქტულად გამოცხადება. ამ შემთხვევაში, კლასს, რომელიც იყენებს ამ ტრეიტს, მოუწევს ასეთი მეთოდის რეალიზება. ამასთან, ტრეიტის აბსტრაქტული მეთოდები არ შეიძლება იყოს პრივატური.

მოდით შევხედოთ მაგალითს. დავუშვათ, გვაქვს ასეთი ტრეიტი:

<?php trait TestTrait { public function method1() { return 1; } abstract public function method2(); } ?>

დავუშვათ, ჩვენი ტრეიტი გამოიყენება Test კლასის მიერ. ტრეიტში აბსტრაქტული მეთოდის არსებობა პროგრამისტს აიძულებს რეალიზებას მისი კლასში, წინააღმდეგ შემთხვევაში მიიღება PHP-ის შეცდომა.

მოდით შევქმნათ Test კლასი მეთოდით method2:

<?php class Test { use TestTrait; // ვიყენებთ ტრეიტს // ვრეალიზებთ აბსტრაქტულ მეთოდს: public function method2() { return 2; } } new Test; ?>

დააკოპირეთ ჩემი ტრეიტის TestTrait კოდი და ჩემი კლასის Test კოდი. წაშალეთ კლასიდან მეთოდი method2. დარწმუნდით იმაში, რომ მისი რეალიზაციის არარსებობა გამოიწვევს PHP-ის შეცდომას.

azbydeenesfrkakkptruuz