OOP ann am PHP: Stiùireadh Luchd-tòiseachaidh

Regex ann am PHP
Luchd-togail agus luchd-sgrios ann am PHP

Tha prògramadh stèidhichte air cuspair (OOP) na phàtran prògramaidh a tha a’ riochdachadh agus a’ làimhseachadh dàta agus giùlan a’ cleachdadh nithean, a tha nan eisimpleirean de chlasaichean. Bidh PHP a’ toirt seachad taic OOP tro chruinneachadh de ghnìomhan agus structaran togte.

Tha clas ann am PHP na phlana airson stuthan a thogail. Bidh clas a’ mìneachadh nì nì seilbhean (ris an canar cuideachd caochladairean no feartan ball) agus modhan (ris an canar cuideachd gnìomhan no giùlan ball). Tha na briathran “var” agus “function” air an cleachdadh taobh a-staigh a’ chlas gus feartan agus dòighean-obrach a shònrachadh, fa leth. Seo eisimpleir de chlas PHP bunaiteach:

class Person {
    var $name;
    var $age;

    function setName($name) {
        $this->name = $name;
    }

    function getName() {
        return $this->name;
    }

    function setAge($age) {
        $this->age = $age;
    }

    function getAge() {
        return $this->age;
    }
}

Tha dà fheart anns a’ chlas “Pearsa” san eisimpleir seo: $name agus $age. Tha ceithir dòighean ann cuideachd: setName(), getName(), setAge(), agus getAge(). Tha na dòighean sin air an cleachdadh gus seata agus a 'faighinn air ais luachan seilbh. Bu chòir a thoirt fa-near gu bheil am facal “seo” a’ toirt iomradh air an nì làithreach taobh a-staigh a’ chlas.

Gus rud clas a dhèanamh, bidh sinn a’ cleachdadh am prìomh fhacal “ùr” agus an uairsin ainm a’ chlas. Seo eisimpleir:

$person = new Person();

Aon uair ‘s gu bheil nì againn, is urrainn dhuinn dòighean a’ chlas a chleachdadh gus luachan nam feartan a shuidheachadh agus fhaighinn:

$person->setName("John Doe");
$person->setAge(30);

echo $person->getName(); // prints "John Doe"
echo $person->getAge(); // prints "30"

Tha oighreachd na bhun-bheachd bunaiteach ann am prògramadh a tha ag amas air nithean a leigeas le aon chlas buadhan agus gnìomhan a shealbhachadh bho chlas eile. Is e fo-chlas no clas a th’ ann an clas a tha a’ tighinn bho chlas eile, ach canar an clas-sàr-chlas no an clas bunaiteach ris a’ chlas às a bheil e a’ sealbhachadh.

Seo eisimpleir de fho-chlas “Oileanach” a tha a’ tighinn bhon sàr-chlas “Pearsa”:

class Student extends Person {
    var $studentId;

    function setStudentId($id) {
        $this->studentId = $id;
    }

    function getStudentId() {
        return $this->studentId;
    }
}

San eisimpleir seo, bidh clas nan Oileanach a’ sealbhachadh a h-uile seilbh agus modh sa chlas Person agus a’ cur seilbh ùr $studentId agus dòighean setStudentId(), agus getStudentId() ris.

$student = new Student();
$student->setName("Jane Doe");
$student->setAge(20);
$student->setStudentId("123456");

echo $student->getName(); // prints "Jane Doe"
echo $student->getAge(); // prints "20"
echo $student->getStudentId(); // prints "123456"

coluadar nan seòrsa de chùmhnant a tha a’ sònrachadh seata de dhòighean a dh’ fheumas clas a bhuileachadh. Tha am prìomh fhacal eadar-aghaidh air a chleachdadh gus mìneachadh a eadar-aghaidh, agus chan fhaod e a bhith a’ toirt a-steach ach ainmean modh, chan e buidhnean modh.

Seo eisimpleir de eadar-aghaidh “Cruth” a tha a’ mìneachadh seata de dhòighean airson cumaidhean:

interface Shape {
    public function getArea();
    public function getPerimeter();
}

Feumaidh clas a chuireas an gnìomh eadar-aghaidh na dòighean a tha air an sònrachadh san eadar-aghaidh a mhìneachadh. Seo eisimpleir de chlas “Ceart-cheàrnach” a bhios a’ buileachadh an eadar-aghaidh Cruth:

class Rectangle implements Shape {
    private $width;
    private $height;

    public function __construct($width, $height) {
        $this->width = $width;
        $this->height = $height;
    }

    public function getArea() {
        return $this->width * $this->height;
    }

    public function getPerimeter() {
        return 2 * ($this->width + $this->height);
    }
}

San eisimpleir seo, tha an clas Rectangle a’ cur an gnìomh gnìomhan getArea() agus getPerimeter() aig an eadar-aghaidh Cruth. Is urrainn dhuinn a-nis rud ceart-cheàrnach a thogail agus a chleachdadh dhòighean-obrach:

$rectangle = new Rectangle(5, 10);
echo $rectangle->getArea(); // prints "50"
echo $rectangle->getPerimeter(); // prints "30"

clasaichean, Rudan, oighreachd, agus eadar-aghaidh nam beachdan bunaiteach aig OOP ann am PHP. Tha mòran phrionnsapalan sòlaimte a bharrachd ann a dh’ fhaodadh a bhith air an cur an sàs ann am PHP gus am bathar-bog a dhèanamh nas modular, a ghabhas riaghladh agus ath-chleachdadh, leithid clasaichean eas-chruthach, polymorphism, encapsulation, agus mar sin air adhart.

Tha e deatamach cuimhneachadh nach eil ann an OOP ach aon paradigm ann am PHP; tha iomadh dòigh eile ann airson còd PHP a thogail; ach, tha OOP air a chleachdadh gu mòr agus air a mheas mar chleachdadh a thathar a’ moladh ann an leasachadh PHP gnàthach.

Q&A

C: Dè a th’ ann am prògramadh cuspaireil (OOP)?
A: Is e paradigm prògramadh a th’ ann an OOP a tha a’ riochdachadh agus a’ làimhseachadh dàta agus giùlan a’ cleachdadh nithean, a tha nan eisimpleirean de chlasaichean.

C: A bheil PHP a’ toirt taic do OOP?
A: Tha, tha PHP na chànan sgrìobhaidh mòr-chòrdte taobh an fhrithealaiche a tha a’ toirt a-steach gnìomhan agus feartan togte gus OOP a chomasachadh.

C: Ciamar a chruthaicheas mi nì ann am PHP?
F: Gus cuspair clas a chruthachadh, bidh sinn a’ cleachdadh am prìomh fhacal “ùr”, agus an uairsin ainm a’ chlas. Mar eisimpleir: $ person = neach ùr();

C: Dè a th 'ann an oighreachd ann an OOP?
F: Tha oighreachd na phàirt bhunaiteach de OOP a leigeas le clas togalaichean agus dòighean-obrach a shealbhachadh bho chlas eile.

C: An urrainn dhut mìneachadh dè an eadar-aghaidh a th’ ann?
F: Tha eadar-aghaidh mar dhòigh air cùmhnant a mhìneachadh airson clas, a 'sònrachadh seata de dhòighean a dh'fheumas a' chlas a chur an gnìomh.

C: A bheil bun-bheachdan adhartach eile de OOP ann am PHP?
F: Tha, tha mòran phrionnsapalan sòlaimte a bharrachd ann a dh’ fhaodadh a bhith air an cur an sàs ann am PHP gus am prògram a dhèanamh nas modular, so-ruigsinneach agus ath-chleachdadh, leithid clasaichean eas-chruthach, polymorphism, encapsulation, agus mar sin air adhart.

Eacarsaichean:

  1. Dè an co-chòrdadh airson clas a chruthachadh ann am PHP?
  2. Ciamar as urrainn dhut modh constructor a mhìneachadh ann an clas PHP?
  3. Dè an diofar eadar modh statach agus dòigh neo-statach ann an clas PHP?
  4. Ciamar a chruthaicheas tu nì bho chlas ann am PHP?
  5. Dè an adhbhar a tha aig a’ phrìomh fhacal “leudachadh” ann an clas PHP?

Freagairtean:

  1. Is e an co-chòrdadh airson clas a chruthachadh ann am PHP “class ClassName {}”
  2. Faodar an dòigh constructor ann an clas PHP a mhìneachadh leis a’ ghnìomh __construct().
  3. Faodar modh statach a ghairm gun a bhith a’ cruthachadh nì den chlas, ach feumaidh dòigh neo-statach nì a chruthachadh agus an uairsin faodar a ghairm.
  4. Faodar nì a chruthachadh bho chlas ann am PHP le bhith a’ cleachdadh am prìomh fhacal “ùr”, air a leantainn le ainm a’ chlas, agus ga shònrachadh do chaochladair. me $object = ClassName ùr;
  5. Tha am prìomh fhacal “leudachadh” ann an clas PHP air a chleachdadh gus sealltainn gu bheil clas air a shealbhachadh bho chlas pàrant. Tha e a’ leigeil le clas feartan agus dòighean-obrach a shealbhachadh bho chlas eile.
Regex ann am PHP
Luchd-togail agus luchd-sgrios ann am PHP
en English
X
Rach gu mhullaich