深入了解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递归实现无限分类生成下拉列表的函数
Aug 08 PHP
记录mysql性能查询过程的使用方法
May 02 PHP
zf框架的校验器使用使用示例(自定义校验器和校验器链)
Mar 13 PHP
phplot生成图片类用法详解
Jan 06 PHP
php内存缓存实现方法
Jan 24 PHP
Java和PHP在Web开发方面对比分析
Mar 01 PHP
php实现倒计时效果
Dec 19 PHP
Joomla调用系统自带编辑器的实现方法
May 05 PHP
Ubuntu中支持PHP5与PHP7双版本的简单实现
Aug 19 PHP
php的命名空间与自动加载实现方法
Aug 25 PHP
基于PHP实现生成随机水印图片
Dec 09 PHP
Jsonp劫持学习
Apr 01 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
php4的session功能评述(二)
2006/10/09 PHP
CI框架中zip类应用示例
2014/06/17 PHP
ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整
2014/11/05 PHP
jQuery下扩展插件和拓展函数的写法(匿名函数使用的典型例子)
2010/10/20 Javascript
JavaScript之Getters和Setters 平台支持等详细介绍
2012/12/07 Javascript
js闭包实例汇总
2014/11/09 Javascript
javascript批量修改文件编码格式的方法
2015/01/27 Javascript
JavaScript输出当前时间Unix时间戳的方法
2015/04/06 Javascript
javascript 继承学习心得总结
2016/03/17 Javascript
轻松实现jquery选项卡切换效果
2016/10/10 Javascript
jQuery中的100个技巧汇总
2016/12/15 Javascript
EditPlus中的正则表达式 实战(2)
2016/12/15 Javascript
微信小程序实现下载进度条的方法
2017/12/08 Javascript
原生js实现获取form表单数据代码实例
2019/03/27 Javascript
vue将后台数据时间戳转换成日期格式
2019/07/31 Javascript
微信小程序canvas动态时钟
2020/10/22 Javascript
[01:33:14]LGD vs VP Supermajor 败者组决赛 BO3 第二场 6.10
2018/07/04 DOTA
[43:41]VP vs RNG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
Python 常用的安装Module方式汇总
2017/05/06 Python
python 获取sqlite3数据库的表名和表字段名的实例
2019/07/17 Python
numpy库reshape用法详解
2020/04/19 Python
利用python绘制中国地图(含省界、河流等)
2020/09/21 Python
Django web自定义通用权限控制实现方法
2020/11/24 Python
HTML5 File接口在web页面上使用文件下载
2017/02/27 HTML / CSS
详解如何在登录过期后跳出Ifram框架
2020/09/10 HTML / CSS
俄罗斯领先的移动和数字设备在线商店:Svyaznoy.ru
2020/12/21 全球购物
办公室经理岗位职责
2014/01/01 职场文书
大学同学聚会邀请函
2014/01/19 职场文书
各营销点岗位职责范本
2014/03/05 职场文书
校园新闻广播稿5篇
2014/10/10 职场文书
2014年心理健康教育工作总结
2014/12/06 职场文书
教师个人年终总结
2015/02/11 职场文书
三下乡个人总结
2015/03/04 职场文书
销售员岗位职责范本
2015/04/11 职场文书
学校党支部承诺书
2015/04/30 职场文书
朋友聚会开场白
2015/06/01 职场文书