PHP面向对象之类和对象

  • 2019 年 12 月 17 日
  • 筆記

PHP面向对象之类和对象

什么是面向对象?

首先既然你知道面向对象,那么 OOP 相信你并不陌生吧? 他的英文全称 Object Oriented Programming 直译为:面向对象编程

谈到面向对象,他的三大特性少不了:封装、继承、多态,这些我们稍后再谈,,我们先来了解下基本的东西。

类和对象

什么是类?

类是面向对象程序设计的基本概念,是对一类事物的描述,通俗的理解类就是对现实中某一个种类的东西的抽象,类的定义包含了数据的形式以及对数据的操作。是具有某些相同属性和行为的一些对象的集合。

什么是对象?

对象是类的实例。对象是具体的,而我们的类是抽象的

类和对象的关系?

类的实例化结果就是对象,而对一类对象的抽象就是类。类描述了一组具有相同特性(属性)和相同行为(方法)的对象。

如何定义一个类?

类的声明,通过 class 关键字来进行声明(PS:类名大写开头), 语法规则如下:

class 类名{    }
实例化类 也就是创建对象

通过关键字 new 来实例化,语法如下:

$对象变量 = new 类名称();

例如,我们声明一个汽车类,并实例化它。

//声明一个汽车类  class Car {      //属性      public $name = '汽车';        //方法      public function run(){          return 'run';      }  }    //实例化Car  $car = new Car();
属性

属性也就是类的成员变量,是类中的共同属性

  • 属性的声明必须通过修饰符 publicprivateprotected 关键字来进行修饰
  • 声明是可以不设置初始值,不能是表达式、函数、对象、资源类型
方法

方法是类的一些功能行为。他是动态的可执行的。通过在类定义中声明函数,即创建了类的方法。

  • 声明方法可以不使用修饰符,如果不加则表示为public

类的属性和方法的使用

类内部访问

通过关键词$this + -> 操作符 来进行访问

  • 访问属性:$this->属性; //$this->name;
  • 访问方法:$this->方法; //$this->run();
通过引用变量(对象)访问

实例化类,并通过 -> 操作符来进行访问。

$car = new Car();  $car->name; //访问属性  $car->run(); //访问方法

对象的比较

  • 使用比较操作符(==)

当两个对象具有相同属性和值,属于同一个类且被定义在相同命名空间中,则两个对象相等

  • 使用全等符(===)

这两个对象变量一定要指向某个类的同一个实例(即同一个对象)

具体比较方式,验证结果请看 对象比较

OK,类和对象,以及类和对象的关系就介绍到这,并不是什么高深的东西,记录一下,给自己一个记忆,同时也给 PHPer 新手一个指南,可能每个人理解方式不同,表达不同。如果有纰漏,还请指出。