什么是面向对象?

首先既然你知道面向对象,那么 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 新手一个指南,可能每个人理解方式不同,表达不同。如果有纰漏,还请指出。

关于极客返利

极客返利 是由我个人开发的一款网课返利、返现平台。包含 极客时间返现、拉勾教育返现、掘金小册返现、GitChat返现。目前仅包含这几个平台。后续如果有需要可以考虑其他平台。 简而言之就是:你买课,我返现。让你花更少的钱,就可以买到课程。

https://geekfl.com

https://geek.laravelcode.cn

版权许可

本作品采用 知识共享署名 4.0 国际许可协议 进行许可。

转载无需与我联系,但须注明出处,注明文章来源 PHP面向对象之类和对象

联系我

编程怪事
暂无回复
0 / 180