PHP 类与对象

基本概念

面向对象编程(Object Oriented Programming, OOP, 面向对象程序设计)是一种计算机编程架构。OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。OOP 达到了软件工程的三个目标:重用性、灵活性和扩展性。

PHP 在 4.0 版本之后完善了对 OOP 的支持了。对于小型的应用,使用传统的过程化编程可能更简单也更有效率。然而对于大型的复杂应用时,OOP 就是一个不得不考虑的选择。

类是具有相同属性和服务的一组对象的集合。它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属性说明和服务说明两个主要部分。

对象

对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务组成。

类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类。

关于面向对象的编程涉及的内容很广泛,本教程只介绍基本的概念与在 PHP 中的应用。

使用关键字 class 来声明一个类,后面紧跟类的名字,主体用 {} 符号括起来。

语法:

class class_name{

......

}

类里面包含了属性和方法。

属性

通过在类定义中使用关键字 var 来声明变量,即创建了类的属性,也叫类的成员属性。

语法:

class class_name{

var $var_name;

}

举个例子说明,如果定义一个 人 的类,那么人的 姓名、年龄、性别 等等便可以看做 人 这个类的属性。

方法

通过在类定义中声明函数,即创建了类的方法。

语法:

class class_name{

function function_name(arg1,arg2,……)

{

函数功能代码

}

}

类的应用

一个定义了属性和方法的类就是一个完整的类了,可以在一个类里面包含一个完整的处理逻辑。使用 new 关键字来实例化一个对象以便应用类里面的逻辑。可以同时实例化多个对象。

语法:

object = new class_name();

实例化一个对象后,使用 -> 操作符来访问对象的成员属性和方法。

语法:

object->var_name;

object->function_name;

如果要在定义的类里面访问成员的属性或者方法,可以使用伪变量 $this 。$this 用于表示 当前对象 或 对象本身 。

例子:


class Person {

//人的成员属性

var $name;    //人的名字

var $age;    //人的年龄

//人的成员 say() 方法

function say() {

echo "我的名字叫:".$this->name."
";

echo "我的年龄是:".$this->age;

}

}    //类定义结束

//实例化一个对象

$p1 = new Person();

//给 $p1 对象属性赋值

$p1->name = "张三";

$p1->age = 20;

//调用对象中的 say()方法

$p1->say();

?>

运行该例子,输出:

我的名字叫:张三

我的年龄是:20

上面的例子演示了一个简单的基于面向对象的 PHP 应用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,074评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,073评论 19 139
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 14,022评论 6 13
  • public(公有):公有类可以在任何地方被访问; protected(受保护):受保护的类成员则可以被其自身及其...
    刚_dbac阅读 3,025评论 0 1
  • 昨天吃饭时听妈妈提起她的朋友家还在上初二的儿子,只因母亲忙于工作,就大摇大摆的旷课十天,班主任对他大概实在无可奈何...
    情若影阅读 3,153评论 1 1

友情链接更多精彩内容