Inherit Methods

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Is it possible to run inherited methods in the scope of the child class? In my case I have an abstract class called 'Company' and some child classes. There is a non abstract function in 'Company' which prints '$this->phoneList'. That function should be the same to all child classes, without rewritting it in every class.

I call the printing method via the child class like
$childObject->printPhoneList();
The call seems to be handed over to the parent class 'Company' which is fine. But the $this points to the phoneList of the abstract parent class. So the phoneList in the abstract class seems to be unset, since i have set the phone list in the child class.

Here's a short example, showing what I mean:

<?php

abstract class AbstractClass {

	private $var;
	
	public function printVar() {
		echo('var: ' . $this->var . '<br>');
	}

}

class ConcreteClass extends AbstractClass {

	public function __construct($var) {
		$this->var = $var;
	}
		
	public function printVarChild() {
		echo('var (child): ' . $this->var . '<br>');
	}

}

$cl = new ConcreteClass(15);
$cl->printVar();
$cl->printVarChild();
?>

Output is:
var:
var (child): 15


Has anyone an idea how to print the $var of the child, without copying the method in every child class?

thanks in advance,
Norbert

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux