面向对象思想

介绍

类:是用于描述“某一些具有共同特征”的物体的概念,是某一类物体的总称。

类:包含2个方面

  外观,形状,描述,数据。。。。。属性

  行为,动作,功能。。。。。。。。方法。

对象:是指一个具体的“物体”,该物体隶属于某个“类别”(类)。

对象是类的实例化表现

语法形式

  定义变量;

  定义函数;

  使用变量(输出,赋值,等)

  调用函数;

  流程控制(if,switch,for,while等)

1,定义类;定义类的语法中,只有这3种代码:

  1.1定义属性(变量)

  1.2定义方法(函数)

  1.3定义常量(类常量)

2,创建类的对象;

  变量 = new 类名();

3,使用对象;

  3.1使用其属性:因为属性就是“变量”,则使用其属性,也就是跟以前使用变量一样。

  3.2使用其方法:因为方法就是“函数”,则使用其方法,也就是跟以前使用函数一样。

  3.3使用其常量:类似使用以前的普通常量。

对象创建的基本形式(常用)

  $对象名1  =  new  类名();       //对象名就是变量名;类是应该定义过了

  $对象名3 = new  self;        //self指代类本身,这行代码只能在类内部方法中使用。

值传递

  class P{
      var $v1 = 10;
  }
  $p1 = new P();    //也可以写成$p1 = new P;
  $p2 = $p1;        //这是值传递
  $p1->v1 = 20;    //修改对象$p1
  echo "<br />p1->v1 为:" . $p1->v1;
  echo "<br />p2->v1 为:" . $p2->v1;

关键字$this

  代表当前所属类的当前对象

静态属性(static)

  class a{  

    static $v=10; //静态属性

  }

静态属性的使用 ::(双冒号语法,也叫范围解释符)

  类::$静态属性名;

静态方法(static):同理静态属性

  注意1:$this在静态方法中不能使用

    2:静态方法中不应调用非静态方法

关键字self

  含义:代表当前类

  使用:通常只能在某个类的某个方法内部代表该类的名称。

构造方法

  该方法名字是固定的,为:__construct();

注:该方法必须是普通方法(不能是静态方法)

  如果一个类中定义了构造方法,则实例化该类时就会调用该方法,且实例化时的参数需要跟构造方法的参数匹配

方法调用(类似于页面加载完成)

  当new 类名()的时候,其实是在调用该构造方法

析构方法(于构造方法相反)

  析构方法是“销毁”对象的时候会自动调用。

调用:在页面结束时自动调用

继承:一个类从另一个已有的类获得其特性,称为继承 (子承父)(单继承)

派生:从一个已有的类产生一个新的类,称为派生(父生子)

访问权限

  public:公共的,共有的,公开的(可以在类,继承,类外使用)

  protected:受保护的(可以在类,继承使用)

  private:私有的(只可以在类使用)

父类:

  parent代表父类

原文地址:https://www.cnblogs.com/diverman/p/8508888.html