⊗ppOpIhPrP 32 of 107 menu

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

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

<?php class User { private $name; public function setName($name) { $this->name = $name; } public function getName() { return $this->name; } } ?>

დავუშვათ, მშობლისაგან მემკვიდრეობით მიიღებს შემდეგმა შთამომავალმა:

<?php class Student extends User { } ?>

შევქმნათ შთამომავლის ობიექტი:

<?php $student = new Student; ?>

გამოვიყენოთ მშობლის მეთოდი, რათა ჩავწეროთ მისი პრივატული თვისება:

<?php $student->setName('john'); ?>

გამოვიყენოთ მშობლის მეთოდი, რათა წავიკითხოთ მისი პრივატული თვისება:

<?php $name = $student->getName(); echo $name; ?>

მოცემულია შემდეგი მშობელი კლასი:

<?php class User { private $name; private $surn; public function setName($name) { $this->name = $name; } public function getName() { return $this->name; } public function setSurn($surn) { $this->surn = $surn; } public function getSurn() { return $this->surn; } } ?>

გააკეთეთ კლასი Employee, რომელიც მემკვიდრეობით მიიღებს ამ მშობლისგან.

შექმენით Employee კლასის ობიექტი და გამოიძახეთ მემკვიდრეობით მიღებული სეთერები და გეთერები.

Employee კლასში გააკეთეთ შემდეგი მეთოდი:

<?php public function getFull() { return $this->name . ' ' . $this->surn; } ?>

დარწმუნდით, რომ მეთოდის კოდი გამოიწვევს შეცდომას.

azbydeenesfrkakkptruuz