BPM-第六章-面向对象的PHP

封装,继承,多态

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();
    }

## 构造函数和析构函数

猜你喜欢

转载自www.cnblogs.com/person3/p/9259725.html