PHP教程

PHP--面向对象编程

本文主要是介绍PHP--面向对象编程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一:面向对象

(一)类的声明

类必须被定义后才能使用,定义一个类就是定义这一类对象的模板,定义属性和定义方法。

class[类名]{
	成员属性声明
	成员方法声明
}

定义一个空类:

<?php
class EmptyClass
{

}

注:
1、函数名、类名不区分大小写。
2、变量名区分大小写。

(二)成员方法

类中的函数也叫“成员方法”,函数和方法都可以实现一系列操作,唯一的区别是,函数是独立的代码实现功能实现,二方法是类的一部分,实现了类的功能

<?php
class Job
{
	function findJob($job_name)
	{
	echo '找到工作,工作职位是'.$job_name;
	}
	function jobList()
	{
	return['php工程师','java工程师'];
	}
}

(三)类的实例化

类的实例化也成为创建对象。需要先声明对象是哪个类,同时指出变量名称。实例化是通过关键字new来声明,然后通过使用“对象名->成员”方法的形式,调用类中方法
创建(二)中Job类的对象:

<?php
class Job
{
	function findJob($job_name)
	{
	echo '找到工作,工作职位是'.$job_name;
	}
	function jobList()
	{
	return['php工程师','java工程师'];
	}
}
$my_job = new Job();
$job_list = $my_job->jobList();
$my_job->findJob($job_list[0]);

Job为类,而my_job就是Job类的一个实例化,并且通过my_job调用类中的成员。结果为:找到工作,工作职位是php工程师。

(四)成员属性(成员变量)

成员属性,也称为成员变量,是类中的变量。成员属性保存类中的数据信息。成员方法之间通过成员属性进行信息传递和功能交互。定义一个成员属性的格式是:

<?php
class Job
{
	private $job_list = ['php工程师','java工程师'];
	
	function findJob($job_name)
	{
	echo '找到工作,工作职位是'.$job_name;
	}
	
	public function jobList()
	{
		return $this->job_list;
	}
}
$my_job = new Job();
$job_list = $my_job->jobList();
$my_job->findJob($job_list[0]);

类的方法和变量前面,都可以加上访问权限的关键字,通过这些关键字可以对方法和成员属性做一定的限制。

1.public(公共成员)

此标识该成员属性、方法是对其他所有代码公开,不写任何关键字是默认为public处理

2.private(私有成员)

此标识该成员属性、方法只可以在自己类的代码中使用,其他任何外部代码都无法访问和使用。即使是它的子类,也无法访问。

3.protected(保护成员)

和private关键字类似,都是禁止外部代码的直接访问,但是子类无法调用private的成员,却可以调用protected成员。即可以在本类和子类中被调用,其它地方不可以。

(五)类中常量

在类中,变量叫做“属性”,函数叫做“方法”,而常量也可以放在类中使用,一般叫做‘’类中常量”或“类常量”。可以把类中始终保持不变的值定义为常量。定义时不需要“$”符号,使用“const”.

<?php
class Job
{
	const JOB_LIST = ['php工程师','java工程师'];

	function findJob($job_name)
	{
	echo '找到工作,工作职位是'.$job_name;
	}
}
$my_job = new Job();
$my_job->findjob(JOB:JOB_LIST[0]);

(六)静态变量

使用方式:
1:在类中时:"self::静态变量"。
2:在类的外部:"类名::静态变量"。
3:在类的外部:"对象名::静态变量"。

(七)静态方法

被static修饰的成员方法被称为“静态方法”。静态方法在程序最开始是分配单独一块的内存空间,静态方法是被共享的。静态方法被调用时可以直接通过:“类名::方法名”形式调用,也可以直接实例化对象,通过“对象::方法名”形式调用。
在静态方法中,不能调用静态变量,但是普通方法可以调用静态变量。因为静态属性和方法被创建时,可能还没有任何这个类的实例可以被调用。

这篇关于PHP--面向对象编程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!