class Person {
private $firstName, $lastName, $phone, $email;
public function __construct($first, $last) {
$this->firstName = $first;
$this->lastName = $last;
}
public function getFirstName() {
return $this->firstName;
}
public function setFirstName($value) {
$this->firstName = $value;
}
public function getLastName() {
return $this->lastName;
}
public function setLastName($value) {
$this->lastName = $value;
}
public function getPhone() {
return $this->phone;
}
public function setPhone($value) {
$this->phone = $value;
}
public function getEmail() {
return $this->email;
}
public function setEmail($value) {
$this->email = $value;
}
}
class Employee extends Person {
private $ssn, $hireDate;
public function __construct($first, $last, $ssn, $hireDate) {
$this->ssn = $ssn;
$this->hireDate = $hireDate; // Call Person constructor to finish initialization
parent::__construct($first, $last);
}
public function getSSN() {
return $this->ssn; }
}
public function setSSN($value) {
$this->ssn = $value;
}
public function getHireDate() {
return $this->hireDate;
}
public function setHireDate($value) {
$this->hireDate = $value;
}
}
$emp = new Employee('John', 'Doe', '999-14-3456', '8-25-1996');
$emp->setPhone('919-555-4321'); // Inherited from Person Class