PHP OOP ನಲ್ಲಿ ಉತ್ತರಾಧಿಕಾರ

I

ಆನುವಂಶಿಕತೆ ಎಂದರೇನು?

ಒಂದು ವರ್ಗವು ಮತ್ತೊಂದು ವರ್ಗದಿಂದ ಹುಟ್ಟಿಕೊಂಡಾಗ, ಅದನ್ನು ಉತ್ತರಾಧಿಕಾರ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. PHP ಯಲ್ಲಿ ಉತ್ತರಾಧಿಕಾರಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಕೆಲವು ಪ್ರಮುಖ ಪದಗಳು ಇಲ್ಲಿವೆ.

  • ಪೋಷಕ ವರ್ಗ - ಇತರ ವರ್ಗಗಳನ್ನು ಪಡೆದ ವರ್ಗವನ್ನು ಪೋಷಕ ವರ್ಗ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಇದನ್ನು ಮೂಲ ವರ್ಗ ಎಂದೂ ಕರೆಯುತ್ತಾರೆ.
  • ಮಕ್ಕಳ ವರ್ಗ - ಇನ್ನೊಂದು ವರ್ಗದಿಂದ ಪಡೆದ ವರ್ಗವನ್ನು ಮಕ್ಕಳ ವರ್ಗ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಎಲೆ ವರ್ಗ ಅಥವಾ ಪಡೆದ ವರ್ಗದಂತಹ ಇತರ ಕೆಲವು ಹೆಸರುಗಳಿವೆ.
ಪಿಎಚ್ಪಿಯಲ್ಲಿ ಆನುವಂಶಿಕತೆ

PHP ಯಲ್ಲಿ ವರ್ಗವನ್ನು ಆನುವಂಶಿಕವಾಗಿ ಪಡೆಯುವುದು ಹೇಗೆ?

ಬಳಸಿಕೊಂಡು ಒಂದು ವರ್ಗವನ್ನು ಆನುವಂಶಿಕವಾಗಿ ಪಡೆಯಬಹುದು ವಿಸ್ತರಿಸಿದೆ ಕೀವರ್ಡ್. ಕೆಳಗಿನ ಉದಾಹರಣೆಯನ್ನು ನೋಡಿ.

<?php
class Fruit {
  public $name;
  public $color;
  public function __construct($name, $color) {
    $this->name = $name;
    $this->color = $color;
  }
  public function intro() {
    echo "The fruit is {$this->name} and the color is {$this->color}.";
  }
}

// Apple is inherited from Fruit
class Apple extends Fruit {
  public function message() {
    echo "I am from Fruit class or Apple one? ";
  }
}
$apple= new Apple("Apple", "red");
$apple->message();
$apple->intro();
?>

ಮೇಲಿನ ಉದಾಹರಣೆಯಲ್ಲಿ

  • ನಾವು ಕೆಲವು ಗುಣಲಕ್ಷಣಗಳು ಮತ್ತು ವಿಧಾನಗಳೊಂದಿಗೆ ಬೇಸ್ ಅಥವಾ ಪೋಷಕ ವರ್ಗದ ಹಣ್ಣನ್ನು ರಚಿಸುತ್ತೇವೆ.
  • ವಿಸ್ತೃತ ಕೀವರ್ಡ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಪೋಷಕ ವರ್ಗದ ಹಣ್ಣನ್ನು ವಿಸ್ತರಿಸುವ/ಆನುವಂಶಿಕವಾಗಿ ಪಡೆಯುವ ಮತ್ತೊಂದು ವರ್ಗದ ಸೇಬನ್ನು ನಾವು ರಚಿಸುತ್ತೇವೆ.
  • ಸೇಬಿನ ನಿದರ್ಶನ/ವಸ್ತುವನ್ನು ರಚಿಸಿ ಮತ್ತು ಉತ್ತರಾಧಿಕಾರವನ್ನು ಬಳಸಿಕೊಂಡು ಹಣ್ಣಿನ ವರ್ಗ ವಿಧಾನವನ್ನು ಪ್ರವೇಶಿಸಿ.

PHP ಯಲ್ಲಿ ಆನುವಂಶಿಕತೆಯ ಪರಿಚಯವನ್ನು ಸುತ್ತುವ ಮೂಲಕ, ನಾವು ನಿಮಗಾಗಿ ಈ ಕೆಳಗಿನ ಅಂಶಗಳನ್ನು ಸಂಗ್ರಹಿಸುತ್ತೇವೆ.

  1. ಆನುವಂಶಿಕತೆಯು ಮಕ್ಕಳ ವರ್ಗಕ್ಕೆ ಸಾರ್ವಜನಿಕ __ನಿರ್ಮಾಣ, ವಿಧಾನಗಳು ಮತ್ತು ಪೋಷಕ ವರ್ಗದ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಪ್ರವೇಶಿಸಲು ಅನುಮತಿಸುತ್ತದೆ.
  2. ಮೇಲಿನ ಉದಾಹರಣೆಯಲ್ಲಿ, ನಾವು ಅದರ ವಸ್ತುವನ್ನು ಬಳಸಿಕೊಂಡು ಸೇಬು ವರ್ಗದ ವಿಧಾನವನ್ನು ಪ್ರವೇಶಿಸಬಹುದು, ಜೊತೆಗೆ ಪೋಷಕ ವರ್ಗದ ವಿಧಾನಗಳನ್ನು ಪ್ರವೇಶಿಸಬಹುದು.

ಇನ್ಹೆರಿಟೆನ್ಸ್‌ನಲ್ಲಿ ಸಂರಕ್ಷಿತ ಪ್ರವೇಶ ಮಾರ್ಪಾಡುಗಳ ವ್ಯಾಪ್ತಿ

ಹಿಂದಿನ ಟ್ಯುಟೋರಿಯಲ್ ನಲ್ಲಿ, ವರ್ಗದ ಸಂರಕ್ಷಿತ ಗುಣಲಕ್ಷಣಗಳು/ವಿಧಾನಗಳು ತರಗತಿಯೊಳಗೆ ಮತ್ತು ಅದರಿಂದ ಪಡೆದ ತರಗತಿಗಳಲ್ಲಿ ಪ್ರವೇಶಿಸಬಹುದು ಎಂದು ನಾವು ಕಲಿತಿದ್ದೇವೆ.

ಆನುವಂಶಿಕತೆಯಲ್ಲಿ ಸಂರಕ್ಷಿತ ಪ್ರವೇಶ ಮಾರ್ಪಾಡುಗಳ ವ್ಯಾಪ್ತಿಯನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು, ಮೊದಲು ಕೆಳಗಿನ ಉದಾಹರಣೆಯನ್ನು ನೋಡೋಣ.

<?php
class Fruit {
  public $name;
  public $color;
  public function __construct($name, $color) {
    $this->name = $name;
    $this->color = $color;
  }
  protected function intro() {
    echo "I am $this->name and my color is $this->color";
  }
}

class Apple extends Fruit {
  public function message() {
    echo "I am from Fruit class or Apple one?";
  }
}

$apple = new Apple("Apple", "red");
$apple->message();
$apple->intro();
?>

ಮೇಲಿನ ಉದಾಹರಣೆಯಲ್ಲಿ:

  • ನಾವು ಕೆಲವು ಸಾರ್ವಜನಿಕ ಗುಣಲಕ್ಷಣಗಳು ಮತ್ತು ಸಂರಕ್ಷಿತ ವಿಧಾನದೊಂದಿಗೆ ವರ್ಗದ ಹಣ್ಣನ್ನು ರಚಿಸುತ್ತೇವೆ.
  • ನಾವು ಮತ್ತೊಂದು ವರ್ಗ ಸೇಬನ್ನು ರಚಿಸುತ್ತೇವೆ, ಹಣ್ಣಿನ ವರ್ಗದಿಂದ ವಿಸ್ತರಿಸುತ್ತೇವೆ ಮತ್ತು ಅದರ ಉದಾಹರಣೆಯನ್ನು ರಚಿಸುತ್ತೇವೆ.
  • ನಾವು ಸೇಬು ವರ್ಗದ ವಸ್ತುವನ್ನು ಬಳಸಿಕೊಂಡು ಹಣ್ಣಿನ ವರ್ಗದ ಸಂರಕ್ಷಿತ ವಿಧಾನವನ್ನು ಪ್ರವೇಶಿಸಲು ಪ್ರಯತ್ನಿಸಿದಾಗ, ಅದು ದೋಷವನ್ನು ನೀಡುತ್ತದೆ ಏಕೆಂದರೆ, ನಾವು ಪಡೆದ ವರ್ಗದ ಹೊರಗೆ ಹಣ್ಣಿನ ವರ್ಗದ ಸಂರಕ್ಷಿತ ಸದಸ್ಯರನ್ನು ಪ್ರವೇಶಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದೇವೆ.

ಮೇಲಿನ ಉದಾಹರಣೆಯಿಂದ ಸ್ವಲ್ಪ ಮಾರ್ಪಡಿಸಲಾದ ಇನ್ನೊಂದು ಉದಾಹರಣೆಗೆ ಹೋಗೋಣ.

<?php
class Fruit {
  public $name;
  public $color;
  public function __construct($name, $color) {
    $this->name = $name;
    $this->color = $color;
  }
  protected function intro() {
    echo "I am {$this->name} and my color is {$this->color}.";
  }
}

class Apple extends Fruit {
  public function message() {
    echo "Am I a fruit or an apple? ";
    $this -> intro(); // protected
  }
}

$apple = new Apple("Apple", "red");
$strawberry->message();
?>

ಮೇಲಿನ ಉದಾಹರಣೆಯಲ್ಲಿ, ಹಣ್ಣಿನ ವರ್ಗದ ಸಂರಕ್ಷಿತ ವಿಧಾನವನ್ನು ಆಪಲ್ ವರ್ಗದಲ್ಲಿ ಪ್ರವೇಶಿಸಬಹುದು ಏಕೆಂದರೆ ನಾವು ಅದನ್ನು ವರ್ಗದೊಳಗೆ ಪ್ರವೇಶಿಸುತ್ತಿದ್ದೇವೆ.

ಇನ್ಹೆರಿಟೆನ್ಸ್‌ನಲ್ಲಿ ಅತಿಕ್ರಮಣ

ಅತಿಕ್ರಮಿಸುತ್ತದೆ ಅದೇ ಹೆಸರನ್ನು ಬಳಸಿಕೊಂಡು ಮಕ್ಕಳ ತರಗತಿಗಳಲ್ಲಿ ಪೋಷಕ ವರ್ಗದ ವಿಧಾನಗಳನ್ನು ಮರು ವ್ಯಾಖ್ಯಾನಿಸುವುದನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಕೆಳಗಿನ ಉತ್ತರಾಧಿಕಾರವನ್ನು ಅತಿಕ್ರಮಿಸುವ ಕೆಳಗಿನ ಉದಾಹರಣೆಯನ್ನು ನೋಡಿ.

<?php
class Fruit {
  public $name;
  public $color;
  public function __construct($name, $color) {
    $this->name = $name;
    $this->color = $color;
  }
  public function intro() {
    echo "I am {$this->name} and my color is {$this->color}.";
  }
}

class Apple extends Fruit {
  public $weight;
  public function __construct($name, $color, $weight) {
    $this->name = $name;
    $this->color = $color;
    $this->weight = $weight;
  }
  public function intro() {
    echo "I am {$this->name}, my color is {$this->color}. Also, my weight is {$this->weight} kg.";
  }
}

$apple= new Apple("Apple", "red", 50);
$apple->intro();
?>

ಮೇಲಿನ ಉದಾಹರಣೆಯಲ್ಲಿ:

  • ನಾವು ಪೋಷಕ ವರ್ಗದ ಹಣ್ಣು ಮತ್ತು ಚೈಲ್ಡ್ ಕ್ಲಾಸ್ ಸೇಬನ್ನು ರಚಿಸುತ್ತೇವೆ ಅದು ಹಣ್ಣಿನ ವರ್ಗವನ್ನು ವಿಸ್ತರಿಸುತ್ತದೆ ಮತ್ತು ಅದರಲ್ಲಿರುವ __contruct ಮತ್ತು ಪರಿಚಯ ವಿಧಾನಗಳನ್ನು ಮರು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ.
  • ಮಕ್ಕಳ ವರ್ಗ ಸೇಬು ಅದೇ ಹೆಸರಿನೊಂದಿಗೆ __ನಿರ್ಮಾಣ ಮತ್ತು ಪರಿಚಯ ವಿಧಾನಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಗಮನಿಸಿ. ಆದಾಗ್ಯೂ, ನಿಯತಾಂಕಗಳು ವಿಭಿನ್ನವಾಗಿರಬಹುದು.
  • ನಾವು ಆಪಲ್ ಕ್ಲಾಸ್ ಇಂಟೆನ್ಸ್ ಅನ್ನು ರಚಿಸುತ್ತೇವೆ ಮತ್ತು ನಿರ್ಮಾಣ ಕಾರ್ಯಕ್ಕೆ ನಿಯತಾಂಕಗಳನ್ನು ರವಾನಿಸುತ್ತೇವೆ.
  • ನಾವು ಆಪಲ್ ನಿದರ್ಶನವನ್ನು ಬಳಸಿಕೊಂಡು ಪರಿಚಯ ವಿಧಾನವನ್ನು ಕರೆದಾಗ, ಇದು ಆಪಲ್ ವರ್ಗದ ಪರಿಚಯ ವಿಧಾನವನ್ನು ಕರೆಯುತ್ತದೆ ಏಕೆಂದರೆ ನಾವು ಆಪಲ್ ಕ್ಲಾಸ್ ಕನ್‌ಸ್ಟ್ರಕ್ಟರ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಆಪಲ್ ಆಬ್ಜೆಕ್ಟ್‌ನ ನಿದರ್ಶನವನ್ನು ರಚಿಸಿದ್ದೇವೆ.

ಉತ್ತರಾಧಿಕಾರದಲ್ಲಿ ಅಂತಿಮ ಕೀವರ್ಡ್‌ನ ಪಾತ್ರ

ದಿ ಅಂತಿಮ ಕೀವರ್ಡ್ ಮಗು/ಪಡೆದ ವರ್ಗವನ್ನು ಪೋಷಕ/ಮೂಲ ವರ್ಗದ ವಿಧಾನವನ್ನು ಅತಿಕ್ರಮಿಸುವುದನ್ನು ತಡೆಯುತ್ತದೆ. ಅಂತಿಮ ಕೀವರ್ಡ್‌ನ ಬಳಕೆಯನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಕೆಳಗಿನ ಉದಾಹರಣೆಯನ್ನು ನೋಡಿ.

<?php
class Fruit {
  final public function intro() {
    // code
  }
}

class Apple extends Fruit {
// error to override the intro
  public function intro() {
    // code
  }
}
?>

ಮೇಲಿನ ಉದಾಹರಣೆಯಲ್ಲಿ, ಸೇಬು ವರ್ಗವು ಪರಿಚಯ ವಿಧಾನವನ್ನು ಅತಿಕ್ರಮಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ. ಇದು ದೋಷವನ್ನು ನೀಡುತ್ತದೆ ಏಕೆಂದರೆ ನಾವು ಹಣ್ಣಿನ ವರ್ಗದ ಪರಿಚಯ ವಿಧಾನದೊಂದಿಗೆ ಅಂತಿಮ ಕೀವರ್ಡ್ ಅನ್ನು ಬಳಸಿದ್ದೇವೆ.

ಅಧಿಕಾರಿಗಾಗಿ ಕ್ಲಿಕ್ ಮಾಡಿ PHP ಆನುವಂಶಿಕತೆಯ ಉಲ್ಲೇಖ.

ತೀರ್ಮಾನಗಳು

ಆನುವಂಶಿಕತೆಯು PHP ಯಲ್ಲಿ OOP ಯ ಪ್ರಮುಖ ಪರಿಕಲ್ಪನೆ ಮಾತ್ರವಲ್ಲ, ಆದರೆ ಯಾವುದೇ ಭಾಷೆಯಲ್ಲಿ, ಇದು ಪ್ರಮುಖ ಪಾತ್ರವನ್ನು ವಹಿಸುತ್ತದೆ. ಸಂದರ್ಶನದ ದೃಷ್ಟಿಕೋನದಿಂದ, ಉತ್ತರಾಧಿಕಾರದ ಪ್ರಶ್ನೆಗಳು ಬಹಳ ಮುಖ್ಯ. ಆದ್ದರಿಂದ, ನೀವು ನಿಮ್ಮ ಸ್ವಂತ ಆನುವಂಶಿಕತೆಯನ್ನು ಅಭ್ಯಾಸ ಮಾಡಬೇಕು.

ಅಭಿಪ್ರಾಯ ಸೇರಿಸು

ಟ್ಯೂಟರ್ ನೆಟ್ವರ್ಕ್

A ನಿಂದ Z ವರೆಗೆ PHP ಕಲಿಯಿರಿ