Oighreachd ann am PHP OOP

I

Dè th' ann an Oighreachd?

Nuair a thig clas bho chlas eile, canar oighreachd ris. Seo cuid de theirmean cudromach co-cheangailte ri dìleab ann am PHP.

  • Clas phàrant - Canar clas pàrant ris a’ chlas às a bheil na clasaichean eile a’ tighinn. Canar clas bunaiteach ris cuideachd.
  • Clas Chloinne – Canar clas cloinne ris a’ chlas a thig bho chlas eile. Tha ainmean eile air a shon cuideachd leithid clas dhuilleagan no clas a thàinig às.
Oighreachd ann am PHP

Ciamar a shealbhaicheas tu clas ann am PHP?

Faodar clas a shealbhachadh le bhith a 'cleachdadh a ’leudachadh prìomh-fhacal. Thoir sùil air an eisimpleir a leanas.

<?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();
?>

Anns an eisimpleir gu h-àrd

  • Bidh sinn a’ cruthachadh measan clas bunait no pàrant le cuid de fheartan agus dhòighean.
  • Bidh sinn a’ cruthachadh ubhal clas eile a leudaicheas/oighreachd an clas pàrant Fruit a’ cleachdadh leudachadh prìomh fhacal.
  • Cruthaich eisimpleir/rud ubhal agus faigh cothrom air modh clas mheasan a’ cleachdadh an oighreachd.

A’ cuairteachadh an ro-ràdh gu dìleab ann am PHP, cruinnichidh sinn na puingean a leanas dhut.

  1. Tha oighreachd a’ leigeil le clas an leanaibh cothrom fhaighinn air a’ phoball __construct, dòighean agus feartan a’ chlas phàrant.
  2. Anns an eisimpleir gu h-àrd, faodaidh sinn cothrom fhaighinn air an dòigh apple clas a 'cleachdadh a nì, a thuilleadh air dòighean clas pàrant.

Farsaingeachd luchd-atharrachaidh ruigsinneachd dìonta ann an Oighreachd

Anns an oideachadh mu dheireadh, dh’ ionnsaich sinn gu bheil buadhan/modhan dìonta de chlas rim faighinn taobh a-staigh a’ chlas agus na clasaichean a thàinig bhuaithe.

Gus tuigse fhaighinn air farsaingeachd luchd-atharrachaidh ruigsinneachd dìon ann an dìleab, leig dhuinn sùil a thoirt air an eisimpleir a leanas an-toiseach.

<?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();
?>

Anns an eisimpleir gu h-àrd:

  • Bidh sinn a 'cruthachadh measan clas le cuid de fheartan poblach agus dòigh dìon.
  • Bidh sinn a’ cruthachadh ubhal clas eile, a’ leudachadh bho chlas Fruit agus a’ cruthachadh a eisimpleir.
  • Nuair a dh’ fheuchas sinn ri faighinn gu modh dìon a’ chlas Fruite le bhith a’ cleachdadh nì clas ubhal, tha e a’ toirt mearachd oir, tha sinn a’ feuchainn ri faighinn gu ball dìonta de chlas measan taobh a-muigh a’ chlas toraidh.

Gluaisidh sinn gu eisimpleir eile, a tha gu dearbh air atharrachadh beagan air an eisimpleir gu h-àrd.

<?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();
?>

Anns an eisimpleir gu h-àrd, tha an dòigh dìon den chlas Fruit ruigsinneach anns a 'chlas ubhal oir tha sinn ga ruigsinn taobh a-staigh a' chlas.

A' cur thairis ann an oighreachd

A ’toirt thairis a’ toirt iomradh air ath-mhìneachadh dhòighean a’ chlas phàrant anns na clasaichean cloinne, a’ cleachdadh an aon ainm. Thoir sùil air an eisimpleir a leanas de bhith a’ faighinn thairis air oighreachd gu h-ìosal.

<?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();
?>

Anns an eisimpleir gu h-àrd:

  • Bidh sinn a’ cruthachadh clas phàrant Fruit agus ubhal clas cloinne a leudaicheas a’ chlas mheasan agus ath-mhìneachadh na dòighean __contruct agus intro a tha ann.
  • Thoir an aire gu bheil an ubhal clas cloinne a’ mìneachadh na dòighean __construct agus intro leis an aon ainm. Ach, faodaidh crìochan a bhith eadar-dhealaichte.
  • Bidh sinn a’ cruthachadh intance clas ubhal agus a’ toirt seachad na crìochan gu gnìomh togail.
  • Nuair a chanas sinn ris an dòigh intro a’ cleachdadh eisimpleir apple, canar ris an dòigh intro airson clas ubhal oir chruthaich sinn eisimpleir an nì ubhal a’ cleachdadh inneal-togail clas ubhal.

Dreuchd a’ phrìomh fhacal deireannach ann an dìleab

Tha dheireannaich prìomh fhacal a’ cur casg air a’ phàiste/chlas a thàinig bho bhith a’ dol thairis air modh a’ chlas phàrant/bunait. Thoir sùil air an eisimpleir a leanas gus cleachdadh a’ phrìomh fhacal Deireannach a thuigsinn.

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

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

Anns an eisimpleir gu h-àrd, tha an clas ubhal a 'feuchainn ri faighinn thairis air an dòigh intro. Bheir e mearachd leis gu bheil sinn air am prìomh fhacal mu dheireadh a chleachdadh leis an dòigh intro den chlas Fruit.

Cliog airson oifigeach iomradh air oighreachd PHP.

Co-dhùnaidhean

Chan e a-mhàin gu bheil oighreachd na bhun-bheachd cudromach de OOP ann am PHP, ach ann an cànan sam bith, tha àite deatamach aige. Bho shealladh an agallaimh, tha ceistean dìleab glè chudromach. Mar sin, feumaidh tu an dìleab a chleachdadh leat fhèin.

Cuir beachd ris

Lìonra Luchd-teagaisg

Ionnsaich PHP bho A gu Z