PHP object-oriented programming can be extended through extensions and custom classes. An extended class inherits the properties and methods of the parent class and can add new properties and methods; a custom class implements specific functions by implementing interface methods. In the actual case, by extending the abstract class Shape, concrete shapes such as Circle and Rectangle are created, and the area can be calculated dynamically.
PHP Object-Oriented Programming: Extensions and Customization
Object-oriented programming (OOP) allows you to create reusable, maintainable code. In PHP, OOP can be further extended by extending and customizing existing classes.
Extended classes
Use the extends
keyword to extend a class. The extended class inherits all properties and methods of the parent class and can add new properties and methods.
class BaseClass { protected $name; public function __construct($name) { $this->name = $name; } public function getName() { return $this->name; } } class ExtendedClass extends BaseClass { private $age; public function __construct($name, $age) { parent::__construct($name); $this->age = $age; } public function getAge() { return $this->age; } }
Customized class
Use the implements
keyword to customize a class so that it implements one or more interfaces. An interface defines a set of methods that the class must implement.
interface MyInterface { public function doSomething(); } class MyClass implements MyInterface { public function doSomething() { // 具体实现 } }
Practical case
Consider an abstract class Shape
, which defines a getArea()
method. We extend this class to create concrete shapes such as Circle
and Rectangle
.
abstract class Shape { protected $color; public function __construct($color) { $this->color = $color; } abstract public function getArea(); } class Circle extends Shape { private $radius; public function __construct($color, $radius) { parent::__construct($color); $this->radius = $radius; } public function getArea() { return pi() * $this->radius ** 2; } } class Rectangle extends Shape { private $width; private $height; public function __construct($color, $width, $height) { parent::__construct($color); $this->width = $width; $this->height = $height; } public function getArea() { return $this->width * $this->height; } }
We can dynamically calculate the area by creating Circle
and Rectangle
objects and accessing their respective getArea()
methods.
The above is the detailed content of In-depth understanding of PHP object-oriented programming: extension and customization of object-oriented programming. For more information, please follow other related articles on the PHP Chinese website!