PHP类

php(面相对象)

这周学的php的面相对象和rxjs,rxjs要单独写这里就不写了。
主要说类,学习的当中想到了当时上大学时学习C++状态,当时学习的时候完全是懵逼的状态,尤其是类,当时书上视频上 讲解了好多关于类的概念和一些比喻,当时就是不能理解。现在看来这些东西 so easy 啊,当时学习能力差?理解能力差? 我想可能是编程思维的转变吧,更多的是时间的积累吧。废话不多说总结一下。

  • 基本写法
class PersonAggregate
{
  public $name = 'zhang';
  public $age = 18;
  public function getAge(){
      echo $this->age;
  }
}
$person = new PersonAggregate();
echo $person->name; // zhang
$person->getAge(); //  18
  • 关键字
    • public(公有) 在所在类内部外部都可访问
    • protected(受保护) 被其自身以及其子类和父类访问
    • private(私有)所在的类访问

这里都不写了,用法太简单自己试一试

  • 构造函数

构造函数:顾名思义就是,构造,创建,建造时候执行的函数,一般用做初始化,如果不定义的话php会默认创建一个

class Person {
    public $name;
    public $age;
    // 构造函数用法
    function __construct($name,  $age) {
        $this->name=$name;
        $this->age=$age;
    }

    function say() {
        echo "我的名字叫:".$this->name."
"; echo "我的年龄是:".$this->age; } } $p1=new Person("张三", 20); $p1->say();
  • 析构函数

析构函数是在销毁对象时,自动调用

class test{
    function __destruct(){
        echo "销毁了";
    }

}
$a  = new test();
  • 面相对象传递机制
    class Dog {
        public $name;
    }
    
    $dog1 = new Dog();
    $dog1->name = '1';
    $d2 = $dog1;
    $d2 = '2';
    echo $dog1->name; // 2




class Dog {
    public $name;
}

$dog1 = new Dog();
$dog1->name = '1';
$d2 = &$dog1;
$d2 = '2';
echo $dog1->name; // 报错

这周的前两天主要看的rxjs用了很长很长的时间,php时间相对就少了,看视频讲的很细,一些命名规范啊还有传递机制为什么会这样没有写,感觉跟js的差不多看看代码就懂了就没有写。明天把 rxjs补上。

你可能感兴趣的:(PHP类)