专栏首页LaravelCodePHP面向对象之类和对象

PHP面向对象之类和对象

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 新手一个指南,可能每个人理解方式不同,表达不同。如果有纰漏,还请指出。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Swoole开发要点介绍

    摘要:简介Swoole是一个PHP扩展,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,Asyn...

    叫我可儿呀
  • php7安装swoole扩展的步骤详解

    里面讲到了swoole,对于这个东西我相信大家(接近1年phper)都是听过它,但没有真正去用它,当然也是不知道如何使用(me too)。

    叫我可儿呀
  • 2019年末逆向复习系列之淘宝M站Sign参数逆向分析

    本次案例的代码都已上传到Review_Reverse上面,后面会持续更新,大家可以Fork一波。

    云爬虫技术研究笔记
  • Bashed -- hack the box

    Only port 80 is open, it may be an easy box. And the truth is that it is really ...

    madneal
  • 千万级批量采集框架,就叫他UrlSpider吧

    我希望在整个理清楚数据采集这个行业的过程中,实现一个能高效的分布式的自带反爬虫的框架。。

    十四君
  • Help - hack the box

    To be honest, Help is not a difficult box. But there are some rabbit holes in th...

    madneal
  • H5多媒体能力

    ###事件 | 事件 | 描述 | | —- | —- | | abort | 在播放被终止时触发。| | canplay | 在媒体数据已经有足够的数据(至少...

    Tiffany_c4df
  • 数据结构和算法——选择排序

    选择排序的工作方式是:维护已排序的子列表,从主列表中找到最小的项,然后将其交换到子列表的最后一个元素,直到对所有项进行排序为止。

    Lemon黄
  • 马蜂窝消息总线——面向业务的消息服务设计

    蜂窝消息总线于 2017 年 11 月份上线,截至目前,已经被电商、酒店、大交通、社区等多个技术团队投入到生产环境的使用中。

    Spark学习技巧
  • PHP规范PSR0和PSR4的理解

    一、PSR0简介 下文描述了若要使用一个通用的自动加载器(autoloader),你所需要遵守的规范: 一个完全标准的命名空间(namespace)和类(cl...

    猿哥

扫码关注云+社区

领取腾讯云代金券