⊗ppOpFnMt 64 of 107 menu

PHP OOP හි වියුක්ත ක්‍රම

වියුක්ත පන්තිවලට වියුක්ත ක්‍රමද අඩංගු විය හැකිය. එවැනි ක්‍රමවලට ක්‍රියාත්මක කිරීමක් තිබිය නොහැකි අතර, උප පන්තිවලට එවැනි ක්‍රම තිබිය යුතු බව දක්වාලීම සඳහා අවශ්‍ය වේ. එම ක්‍රමවල සැබෑ ක්‍රියාත්මක කිරීම උප පන්තිවල වගකීමයි.

ක්‍රමයක් වියුක්ත ලෙස ප්‍රකාශයට පත් කිරීම සඳහා, එය ප්‍රකාශයට පත් කරන විට, යතුරු වචනය abstract භාවිතා කළ යුතුය.

අපි එය ප්‍රායෝගිකව පරීක්ෂා කරමු. User පන්තියේ සියලුම උප පන්තිවලට increaseRevenue ක්‍රමයක් තිබිය යුතු බව උපකල්පනය කරමු.

මෙම ක්‍රමය වර්තමාන පරිශීලක ආදායම ගෙන එය පරාමිතියක් ලෙස ලබා දුන් යම් අගයකින් වැඩි කළ යුතුය.

User පන්තියටම උප පන්තියට කුමන ආදායමක් ලැබේදැයි නොදනී - සේවකයෙකු සඳහා එය වැටුපක් වන අතර ශිෂ්‍යයෙකු සඳහා එය ශිෂ්‍යත්වයකි. එබැවින් එක් එක් උප පන්තිය මෙම ක්‍රමය තමන්ගේ ආකාරයෙන් ක්‍රියාත්මක කරයි.

මෙහි හරය වන්නේ User පන්තියේ වියුක්ත ක්‍රමය ක්‍රමලේඛකයාට උප පන්තිවල මෙම ක්‍රමය ක්‍රියාත්මක කිරීමට බල කිරීමයි, නැතහොත් PHP දෝෂයක් ලබා දෙනු ඇත. මේ ආකාරයට ඔබ, හෝ ඔබගේ කේතය සමඟ වැඩ කරන වෙනත් ක්‍රමලේඛකයෙකුට, උප පන්තියක අවශ්‍ය ක්‍රමය ක්‍රියාත්මක කිරීමට අමතක කළ නොහැක.

එසේනම්, අපි එය ප්‍රායෝගිකව පරීක්ෂා කරමු. අපි User පන්තියට වියුක්ත ක්‍රමය increaseRevenue එකතු කරමු:

<?php abstract class User { private $name; public function getName() { return $this->name; } public function setName($name) { $this->name = $name; } // ශරීරයක් නොමැති වියුක්ත ක්‍රමය: abstract public function increaseRevenue($value); } ?>

අපගේ Employee පන්තිය වෙනස් නොකර තබමු. මෙම අවස්ථාවේ දී, Employee පන්තියේ වස්තුවක් නිර්මාණය නොකළත්, අපගේ පන්ති අර්ථ දක්වා ඇති කේතය ක්‍රියාත්මක කළහොත්, PHP දෝෂයක් ලබා දෙනු ඇත.

අපි දැන් Employee පන්තියේ increaseRevenue ක්‍රමය ක්‍රියාත්මක කිරීම ලියමු:

<?php class Employee extends User { private $salary; public function getSalary() { return $this->salary; } public function setSalary($salary) { $this->salary = $salary; } // ක්‍රමය ක්‍රියාත්මක කිරීම ලියමු: public function increaseRevenue($value) { $this->salary = $this->salary + $value; } } ?>

අපගේ පන්තියේ ක්‍රියාකාරීත්වය පරීක්ෂා කරමු:

<?php $employee = new Employee; $employee->setName('john'); $employee->setSalary(1000); $employee->increaseRevenue(100); echo $employee->getSalary(); ?>

increaseRevenue ක්‍රමය Student පන්තියේදීද ක්‍රියාත්මක කරමු. මේ වතාවේ අපගේ ක්‍රමය ශිෂ්‍යත්වය වැඩි කරයි:

<?php class Student extends User { private $scholarship; // ශිෂ්‍යත්වය public function getScholarship() { return $this->scholarship; } public function setScholarship($scholarship) { $this->scholarship = $scholarship; } // ක්‍රමය ශිෂ්‍යත්වය වැඩි කරයි: public function increaseRevenue($value) { $this->scholarship = $this->scholarship + $value; } } ?>

ඔබේ User පන්තියට එකම වියුක්ත ක්‍රමය increaseRevenue එකතු කරන්න. Employee සහ Student පන්තිවල මෙම ක්‍රමය ක්‍රියාත්මක කිරීම ලියන්න.

Figure පන්තිය තුළ, රූපයේ වර්ගඵලය සහ පරිමිතිය ලබා ගැනීම සඳහා වියුක්ත ක්‍රම සාදන්න.

සිංහල
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
අපි වෙබ් අඩවිය ක්‍රියාත්මක කිරීම, විශ්ලේෂණය සහ පුද්ගලීකරණය සඳහා කුකී භාවිතා කරමු. දත්ත සැකසීම සිදුකරනු ලබන්නේ ගෝපනීයතා ප්‍රතිපත්තිය අනුව ය.
සියල්ල පිළිගන්න කොන්දේසි ප්‍රතික්ෂේප කරන්න