note 61745 deleted from language.oop5.magic by cmb

From: Date: Sun, 10 Nov 2019 12:34:34 +0000
Subject: note 61745 deleted from language.oop5.magic by cmb
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-212977@lists.php.net to get a copy of this message
Note Submitter: ksamvel at gmail dot com ---- To copy base part of derived class appropriate method in base should be defined. E.g.: class A { public function setAVar( $oAVar) { $this->oAVar = $oAVar; } public function getAVar() { return $this->oAVar; } public function copyA( &$roDest) { if( $roDest instanceof A) $this->oAVar = $roDest->oAVar; } private $oAVar; } class B extends A { public function setBVar( $oBVar) { $this->oBVar = $oBVar; } public function getBVar() { return $this->oBVar; } private $oBVar; } $oA = new A(); $oB = new B(); $oA->setAVar( 4); $oB->setAVar( 5); $oB->setBVar( 6); echo "oA::oAVar " . $oA->getAVar() . "<br>"; echo "oB::oAVar " . $oB->getAVar() . "<br>"; echo "oB::oBVar " . $oB->getBVar() . "<br>"; echo "<br>"; $oB->copyA( $oA); echo "oA::oAVar " . $oA->getAVar() . "<br>"; echo "oB::oAVar " . $oB->getAVar() . "<br>"; echo "oB::oBVar " . $oB->getBVar() . "<br>"; Output: oA::oAVar 4 oB::oAVar 5 oB::oBVar 6 oA::oAVar 4 oB::oAVar 4 oB::oBVar 6

« previous php.notes (#212977) next »