深入了解PHP类Class的概念


Posted in PHP onJune 14, 2012

例如,一个交通工具可以定义有颜色、轮胎数、制造商、型号和容量等性质,并定义有停止、前进、转弯和鸣笛等行为。在OOP术语中,实体的性质和行为的具体定义称为类(class)。

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

类用于表示要在应用程序中处理的实际事物。例如,假设要创建一个管理公共图书馆的应用程序,可能就要包括一些类来表示书籍、杂志、员工、特殊事件、顾客以及需要管理的其他事物。每个实体都包含一组性质和行为,在OOP中分别称为字段(field)和方法(method),它们定义了实体。PHP 中一般的类创建语法如下:

class Class_Name 
{ 
// 字段声明 
// 方法声明 
}

创建一个类:
class Employee 
{ 
private $name; 
private $title; 
protected $wage; protected function clockIn() { 
echo "Member $this->name clocked in at ".date("h:i:s"); 
} 
protected function clockOut() { 
echo "Member $this->name clocked out at ".date("h:i:s"); 
} 
}

这个类名为Employee,定义了3个字段:name、title和wage,还定义了两个方法:clockIn(签到)和clockOut(签离)。

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

类的实例化:

object = new class_name();

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

如果要在定义的类里面访问成员的属性或者方法,可以使用伪变量 $this 。$this 用于表示当前对象或对象本身 。
<?php 
class Person { 
// 人的成员属性 
var $name; //人的名字 
var $age; //人的年龄 //人的成员 say() 方法 
function say() { 
echo "我的名字叫:".$this->name."<br />"; 
echo "我的年龄是:".$this->age; 
} 
} 
//类定义结束 
$p1 = new Person(); //实例化一个对象 
$p1->name = "Gonn"; //给 $p1 对象属性赋值 
$p1->age = 25; 
$p1->say(); //调用对象中的 say()方法 
?>

程序运行结果:
我的名字叫:Gonn 
我的年龄是:25
PHP 相关文章推荐
PHP.MVC的模板标签系统(五)
Sep 05 PHP
关于文本留言本的分页代码
Oct 09 PHP
用PHP和ACCESS写聊天室(一)
Oct 09 PHP
PHP动态创建Web站点的方法
Aug 14 PHP
基于PHP开发中的安全防范知识详解
Jun 06 PHP
php中的boolean(布尔)类型详解
Oct 28 PHP
PHP图片裁剪函数(保持图像不变形)
May 04 PHP
php中filter_input函数用法分析
Nov 15 PHP
php检测apache mod_rewrite模块是否安装的方法
Mar 14 PHP
ThinkPHP里用U方法调用js文件实例
Jun 18 PHP
深入浅析php json 格式控制
Dec 24 PHP
PHP实现正则匹配所有括号中的内容
Jun 22 PHP
让PHP更快的提供文件下载的代码
Jun 13 #PHP
深入理解PHP之数组(遍历顺序)  Laruence原创
Jun 13 #PHP
header中Content-Disposition的作用与使用方法
Jun 13 #PHP
php文件打包 下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
Jun 13 #PHP
Php中文件下载功能实现超详细流程分析
Jun 13 #PHP
php异常处理技术,顶级异常处理器
Jun 13 #PHP
PHP的异常处理类Exception的使用及说明
Jun 13 #PHP
You might like
用header 发送cookie的php代码
2007/03/16 PHP
libmysql.dll与php.ini是否真的要拷贝到c:\windows目录下呢
2010/03/15 PHP
PHP 抓取网页图片并且另存为的实现代码
2010/03/24 PHP
浅析PHP中strlen和mb_strlen的区别
2014/08/31 PHP
php实现搜索一维数组元素并删除二维数组对应元素的方法
2015/07/06 PHP
深入讲解PHP的Yii框架中的属性(Property)
2016/03/18 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
json简单介绍
2008/06/10 Javascript
改变javascript函数内部this指针指向的三种方法
2010/04/23 Javascript
JQuery入门——移除绑定事件unbind方法概述及应用
2013/02/05 Javascript
javascript数组操作总结和属性、方法介绍
2014/04/05 Javascript
jQuery插件multiScroll实现全屏鼠标滚动切换页面特效
2015/04/12 Javascript
jQuery判断一个元素是否可见的方法
2015/06/05 Javascript
浅谈JavaScript字符串拼接
2015/06/25 Javascript
javascript处理a标签超链接默认事件的方法
2015/06/29 Javascript
今天抽时间给大家整理jquery和ajax的相关知识
2015/11/17 Javascript
将JavaScript的jQuery库中表单转化为JSON对象的方法
2015/11/17 Javascript
layui框架与SSM前后台交互的方法
2019/09/12 Javascript
原生Vue 实现右键菜单组件功能
2019/12/16 Javascript
JS实现表单中点击小眼睛显示隐藏密码框中的密码
2020/04/13 Javascript
javascript 内存模型实例详解
2020/04/18 Javascript
JavaScript ECMA-262-3 深入解析(二):变量对象实例详解
2020/04/25 Javascript
如何手动实现一个 JavaScript 模块执行器
2020/10/16 Javascript
python下paramiko模块实现ssh连接登录Linux服务器
2015/06/03 Python
Python实现的合并两个有序数组算法示例
2019/03/04 Python
Python实现带下标索引的遍历操作示例
2019/05/30 Python
解决python多行注释引发缩进错误的问题
2019/08/23 Python
Python实现TCP通信的示例代码
2019/09/09 Python
Jupyter notebook快速入门教程(推荐)
2020/05/18 Python
MVMT手表官方网站:时尚又实惠的高品质手表
2016/12/04 全球购物
Java TransactionAPI (JTA) 主要包含几部分
2012/12/07 面试题
终止劳动合同证明书样本
2014/11/19 职场文书
导游词之香港-太平山顶
2019/10/18 职场文书
JVM的类加载器和双亲委派模式你了解吗
2022/03/13 Java/Android
如何创建一个创建MySQL数据库中的datetime类型
2022/03/21 MySQL
代码复现python目标检测yolo3详解预测
2022/05/06 Python