封装,继承,多态
class ClaaName{ ???//属性声明 ???//方法声明} ???class Employee ???{ ???????private $name; ???????private $title; ???????protected $wage; ???????protected function clockIn() { ???????????echo ""; ???????} ???????protected function clockOut() { ???????????echo ""; ???????} ???}
- 使用new关键字创建一个对象。
- 对于属性,常见的做法是在类开始的地方声明属性。
- 属性调用需要使用 -> 操作符。$obj->name;
- 在定义属性的类中引用属性的时候,需要显示的使用this指针,$this->name;
- PHP属性有5种作用域:public, private, protected, final, static。能不能显示的调用时对对象本身来说的,如果对象可以直接使用,称为显示调用,如果只能在对象内部使用,叫做隐式。
- 属性重载???!!!__set方法和__方法
function __set($propName, $propValue){ ???$this->$propName = $propValue;}
- 使用__get方法获取属性。
- 通用方式:
???class Employee ???{ ???????private $name; ???????public function getName() ???????{ ???????????return $this->name; ???????} ???????public function setName($name) ???????{ ???????????$this->name = $name; ???????} ???}
- 在类中可以定义常量。用来表示不会改变的值。
???class mathFunctions ???{ ???????const PI = ‘3.14‘; ???????const E = ‘2.72‘; ???} ???echo mathFunctions::PI;
- 方法 $obj->methodName();
- PHP方法有6中作用域:public, protected, private, abstract, final, static。
- abstract 方法:只在父类中声明,但在子类中实现。只有声明为abstract的类可以声明抽象方法。
???abstract class Employee ???{ ???????abstract function hire(); ???????abstract function fire(); ???????abstract function promote(); ???????abstract demoote(); ???}
## 构造函数和析构函数
BPM-第六章-面向对象的PHP
原文地址:https://www.cnblogs.com/person3/p/9259725.html