⊗ppOpTrMT 78 of 107 menu

რამდენიმე ტრეიტი OOP-ში PHP-ში

კლასში შეგიძლიათ გამოიყენოთ არა ერთი, არამედ რამდენიმე ტრეიტი. ამაში ვლინდება მათი უპირატესობა მემკვიდრეობასთან შედარებით. საჭირო ტრეიტები კლასში გამოსაყენებლად შეგიძლიათ მიუთითოთ მძიმით გამოყოფილი გასაღები სიტყვის use შემდეგ.

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

<?php trait Helper1 { private $name; public function getName() { return $this->name; } } ?>

მეორე:

<?php trait Helper2 { private $age; public function getAge() { return $this->age; } } ?>

გამოვიყენოთ ჩვენი ტრეიტები კლასში:

<?php class User { use Helper1, Helper2; // ვუერთდებით ტრეიტებს public function __construct($name, $age) { $this->name = $name; $this->age = $age; } } ?>

შექმენით 3 ტრეიტი სახელად Trait1, Trait2 და Trait3. პირველ ტრეიტში იყოს მეთოდი method1, რომელიც აბრუნებს 1-ს, მეორე ტრეიტში - მეთოდი method2, რომელიც აბრუნებს 2-ს, ხოლო მესამე ტრეიტში - მეთოდი method3, რომელიც აბრუნებს 3-ს. ყველა ეს მეთოდი იყოს პრივატული.

შექმენით კლასი Test, რომელიც იყენებს ჩვენს მიერ შექმნილ სამივე ტრეიტს. შექმენით ამ კლასში პუბლიკური მეთოდი getSum, რომელიც აბრუნებს მიერთებული ტრეიტების მეთოდების შედეგების ჯამს.

azbydeenesfrkakkptruuz