PHP හි OOP හි මව් පිය ක්‍රම අභිබවා යාම

පන්තියක දරු පන්තියට එකම නමින් ක්‍රමයක් සාදා මව් පියයාගේ ක්‍රමය අභිබවා යා හැකිය. අපි උදාහරණයක් බලමු. අපට පහත දක්වා ඇති මව් පිය පන්තියක් ඇතැයි සිතමු:

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

දැන් අපි දරු පන්තිය තුළ එම නමින්ම ක්‍රමයක් සාදමු:

php<?php
  class Student extends User {
    public function setName($name) {
      
    }
  }
?>

සාමාන්‍යයෙන්, මව් පිය ක්‍රම අභිබවා යෑම අවශ්‍ය වන්නේ එම ක්‍රමයේ හැසිරීම වෙනස් කිරීමට හෝ සම්පූර්ණ කිරීමටයි. අපගේ අවස්ථාවේදී, අපි නමේ දිග පරීක්ෂා කිරීමක් එකතු කරමු:

php<?php
  class Student extends User {
    public function setName($name) {
      if (strlen($name) > 0) {
        $this->name = $name;
      } else {
        echo 'student name error';
      }
    }
  }
?>

දැන් අපි අභිබවා යන ලද ක්‍රමය හරියටම ක්‍රියාත්මක වන බවට විශ්වාස කරමු. පළමුව, දරු පන්තියේ වස්තුවක් සාදමු:

php<?php
  $student = new Student;
?>

දැන්, අපගේ ක්‍රමය කැඳවමු, එයට නිවැරදි අගයක් යොමු කරමින්:

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

දැන්, ක්‍රමය කැඳවමු, එයට නිවැරදි නොවන අගයක් යොමු කරමින්. ප්‍රතිඵලයක් ලෙස, අපි විසි කරන ලද ව්‍යතිරේකය දකිමු:

php<?php
  $student->setName(''); // දෝෂය
?>
Задание 1

User පන්තිය තුළ වයස සඳහා ගෙටර් සහ සෙටර් ක්‍රමයක් සාදන්න.

Задание 2

Employee පන්තිය තුළ වයස සඳහා සෙටර් ක්‍රමය අභිබවා යන්න සහ එහි වයස 18 සිට 65 දක්වා ඇති බව පරීක්ෂා කරන්න.