0% found this document useful (0 votes)
9 views6 pages

Web 4

The document explains access modifiers in PHP, detailing three types: public, protected, and private, which control the accessibility of properties and methods. It illustrates these concepts with examples of a Fruit class, demonstrating how different access modifiers affect property and method access. Additionally, it covers inheritance in object-oriented programming, showing how a child class can inherit properties and methods from a parent class using the extends keyword.

Uploaded by

akkhanyar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views6 pages

Web 4

The document explains access modifiers in PHP, detailing three types: public, protected, and private, which control the accessibility of properties and methods. It illustrates these concepts with examples of a Fruit class, demonstrating how different access modifiers affect property and method access. Additionally, it covers inheritance in object-oriented programming, showing how a child class can inherit properties and methods from a parent class using the extends keyword.

Uploaded by

akkhanyar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 6

Access modifiers:

• Properties and methods can have access modifiers which control where they can be
accessed.
• There are three access modifiers:
• public - the property or method can be accessed from everywhere. This is default
• protected - the property or method can be accessed within the class and by classes
derived from that class
• private - the property or method can ONLY be accessed within the class
• In the following example we have added three different access modifiers to three properties
• (name, color, and weight). Here, if you try to set the name property it will work fine
• (because the name property is public, and can be accessed from everywhere).
• However, if you try to set the color or weight property it will result in
• a fatal error (because the color and weight property are protected and private):

• class Fruit {
• public $name;
• protected $color;
• private $weight;
• }
• $mango = new Fruit();
• $mango->name = 'Mango'; // OK
• $mango->color = 'Yellow'; // ERROR
• $mango->weight = '300'; // ERROR
• class Fruit {
• public $name;
• public $color;
• public $weight;
• function set_name($n) { // a public function (default)
• $this->name = $n;
• }
• protected function set_color($n) { // a protected function
• $this->color = $n;
• }
• private function set_weight($n) { // a private function
• $this->weight = $n;
• }
• }
• $mango = new Fruit();
• $mango->set_name('Mango'); // OK
• $mango->set_color('Yellow'); // ERROR
PHP OOP - Inheritance
• Inheritance in OOP = When a class derives from another class.

• The child class will inherit all the public and protected
• properties and methods from the parent class.
• In addition, it can have its own properties and methods.

• An inherited class is defined by using the extends keyword.


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}.";
} }
// Strawberry is inherited from Fruit
class Strawberry extends Fruit {
public function message() {
echo "Am I a fruit or a berry? ";
} }
$strawberry = new Strawberry("Strawberry", "red");
$strawberry->message();
$strawberry->intro();
• class Fruit {
• public $name;
• public $color;
• public function __construct($name, $color) {
• $this->name = $name;
• $this->color = $color;
• }
• protected function intro() {
• echo "The fruit is {$this->name} and the color is {$this->color}.";
• } }
• class Strawberry extends Fruit {
• public function message() {
• echo "Am I a fruit or a berry? ";
• } }
• // Try to call all three methods from outside class
• $strawberry = new Strawberry("Strawberry", "red"); // OK. __construct() is public
• $strawberry->message(); // OK. message() is public
• $strawberry->intro(); // ERROR. intro() is protected

You might also like