什么是面向对象?
首先既然你知道面向对象,那么 OOP
相信你并不陌生吧? 他的英文全称 Object Oriented Programming
直译为:面向对象编程
谈到面向对象,他的三大特性少不了:封装、继承、多态,这些我们稍后再谈,,我们先来了解下基本的东西。
类和对象
什么是类?
类是面向对象程序设计的基本概念,是对一类事物的描述,通俗的理解类就是对现实中某一个种类的东西的抽象,类的定义包含了数据的形式以及对数据的操作。是具有某些相同属性和行为的一些对象的集合。
什么是对象?
对象是类的实例。对象是具体的,而我们的类是抽象的
类和对象的关系?
类的实例化结果就是对象,而对一类对象的抽象就是类。类描述了一组具有相同特性(属性)和相同行为(方法)的对象。
如何定义一个类?
类的声明,通过 class
关键字来进行声明(PS:类名大写开头),
语法规则如下:
class 类名{
}
实例化类 也就是创建对象
通过关键字 new
来实例化,语法如下:
$对象变量 = new 类名称();
例如,我们声明一个汽车类,并实例化它。
//声明一个汽车类
class Car {
//属性
public $name = '汽车';
//方法
public function run(){
return 'run';
}
}
//实例化Car
$car = new Car();
属性
属性也就是类的成员变量,是类中的共同属性
-
属性的声明必须通过修饰符
public
、private
、protected
关键字来进行修饰 -
声明是可以不设置初始值,不能是表达式、函数、对象、资源类型
方法
方法是类的一些功能行为。他是动态的可执行的。通过在类定义中声明函数,即创建了类的方法。
- 声明方法可以不使用修饰符,如果不加则表示为
public
。
类的属性和方法的使用
类内部访问
通过关键词$this
+ ->
操作符 来进行访问
- 访问属性:$this->属性; //$this->name;
- 访问方法:$this->方法; //$this->run();
通过引用变量(对象)访问
实例化类,并通过 ->
操作符来进行访问。
$car = new Car();
$car->name; //访问属性
$car->run(); //访问方法
对象的比较
- 使用比较操作符(==)
当两个对象具有相同属性和值,属于同一个类且被定义在相同命名空间中,则两个对象相等
- 使用全等符(===)
这两个对象变量一定要指向某个类的同一个实例(即同一个对象)
具体比较方式,验证结果请看 对象比较
OK,类和对象,以及类和对象的关系就介绍到这,并不是什么高深的东西,记录一下,给自己一个记忆,同时也给 PHPer 新手一个指南,可能每个人理解方式不同,表达不同。如果有纰漏,还请指出。
关于极客返利
极客返利 是由我个人开发的一款网课返利、返现平台。包含 极客时间返现、拉勾教育返现、掘金小册返现、GitChat返现。目前仅包含这几个平台。后续如果有需要可以考虑其他平台。 简而言之就是:你买课,我返现。让你花更少的钱,就可以买到课程。
版权许可
本作品采用 知识共享署名 4.0 国际许可协议 进行许可。转载无需与我联系,但须注明出处,注明文章来源 PHP面向对象之类和对象