⊗ppOpFnCl 63 of 107 menu

PHP OOP හි අමුරුවන්න ගණයන්

ඔබට User ගණයක් ඇතැයි සිතන්න, එයින් Employee සහ Student ගණ උරුමකර ගන්නවා.

මෙහිදී අපේක්ෂා කරන්නේ ඔබ Employee සහ Student ගණවල වස්තූන් සාදන බවයි, නමුත් User ගණයේ වස්තූන් - සාදන්නේ නැත, මක්නිසාද යත් මෙම ගණය භාවිතා කරන්නේ එහි උරුමකරුවන්ගේ පොදු ගුණාංග සහ ක්‍රම සමූහගත කිරීම සඳහා පමණකි.

මෙම අවස්ථාවේදී, User ගණයේ වස්තූන් සෑදීම බලහත්කාරයෙන් තහනම් කළ හැකිය, එවිට ඔබට හෝ වෙනත් කි්‍රයාවටකරුවෙකුට කොතැනකවත් අහම්බෙන් ඒවා සෑදීම සිදු නොවේ.

මේ සඳහා අමුරුවන්න (abstract) ගණ යනුවෙන් හඳුන්වනු ලබන ගණ ඇත. අමුරුවන්න ගණ පිළිබඳව උරුමකර ගැනීම සඳහා අරමුණු කරන ලද ගණ වේ. මෙවැනි ගණවල වස්තූන් සෑදිය නොහැක.

ගණයක් අමුරුවන්න ලෙස ප්‍රකාශයට පත් කිරීම සඳහා, එය ප්‍රකාශයට පත් කිරීමේදී abstract යන මූලික වචනය ලිවිය යුතුය:

<?php abstract class User { } ?>

එහෙනම්, අපි අමුරුවන්න ගණය User හි සැබෑ කිරීම (implementation) ලියමු. එහි පුද්ගලික (Private) ගුණාංගයක් name තිබිය යුතුයි, තවද ඒ සඳහා ගෙටර් සහ සෙටර් ද තිබිය යුතුයි:

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

User ගණයේ වස්තුවක් සෑදීමට උත්සාහ කිරීම දෝෂයක් ඇති කරයි:

<?php $user = new User; // දෝෂයක් ලබා දෙයි ?>

නමුත් අපගේ ගණයෙන් උරුමකර ගැනීම හැකි වනු ඇත. අපගේ අමුරුවන්න ගණය User වෙතින් උරුමකර ගන්නා Employee ගණයක් සාදමු:

<?php class Employee extends User { private $salary; public function getSalary() { return $this->salary; } public function setSalary($salary) { $this->salary = $salary; } } ?>

Employee ගණයේ වස්තුවක් සාදමු - සියල්ල සාර්ථකව ක්‍රියාත්මක වනු ඇත:

<?php $employee = new Employee; $employee->setName('john'); // මාපිය ගණයේ ක්‍රමය, එනම් User ගණයේ $employee->setSalary(1000); // තමන්ගේම ක්‍රමය, එනම් Employee ගණයේ echo $employee->getName(); // 'john' ප්‍රතිදානය කරයි echo $employee->getSalary(); // 1000 ප්‍රතිදානය කරයි ?>

අමුරුවන්න ගණයක් 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
අපි වෙබ් අඩවිය ක්‍රියාත්මක කිරීම, විශ්ලේෂණය සහ පුද්ගලීකරණය සඳහා කුකී භාවිතා කරමු. දත්ත සැකසීම සිදුකරනු ලබන්නේ ගෝපනීයතා ප්‍රතිපත්තිය අනුව ය.
සියල්ල පිළිගන්න කොන්දේසි ප්‍රතික්ෂේප කරන්න