深入了解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 相关文章推荐
MVC模式的PHP实现
Oct 09 PHP
优化PHP代码的53条建议
Mar 27 PHP
七款最流行的PHP本地服务器分享
Feb 19 PHP
PHP利用MySQL保存session的实现思路及示例代码
Sep 09 PHP
phpstorm编辑器乱码问题解决
Dec 01 PHP
php实现数组中索引关联数据转换成json对象的方法
Jul 08 PHP
PHP易混淆知识整理笔记
Sep 24 PHP
PHP+AJAX实现投票功能的方法
Sep 28 PHP
Yii2 队列 shmilyzxt/yii2-queue 简单概述
Aug 02 PHP
PHP上传文件及图片到七牛的方法
Jul 25 PHP
PHP工厂模式、单例模式与注册树模式实例详解
Jun 03 PHP
php中加密解密DES类的简单使用方法示例
Mar 26 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
星际原理概述
2020/03/04 星际争霸
PHP 高手之路(一)
2006/10/09 PHP
用PHP实现维护文件代码
2007/06/14 PHP
javascript 冒号 使用说明
2009/06/06 Javascript
jQuery EasyUI API 中文文档 - Panel面板
2011/09/30 Javascript
JS调用CS里的带参方法实例
2013/08/01 Javascript
JS实现随机化快速排序的实例代码
2013/08/01 Javascript
jquery自动填充勾选框即把勾选框打上true
2014/03/24 Javascript
innerHTML在IE中报错解决方案
2014/12/15 Javascript
推荐5 个常用的JavaScript调试技巧
2015/01/08 Javascript
javascript框架设计之框架分类及主要功能
2015/06/23 Javascript
jQuery幻灯片带缩略图轮播效果代码分享
2015/08/17 Javascript
Vue.js鼠标悬浮更换图片功能
2017/05/17 Javascript
React router动态加载组件之适配器模式的应用详解
2018/09/12 Javascript
Node.js+Express+Mysql 实现增删改查
2019/04/03 Javascript
微信小程序 textarea 层级过高问题简单解决方案
2019/10/14 Javascript
vue自定义指令实现仅支持输入数字和浮点型的示例
2019/10/30 Javascript
js实现ajax的用户简单登入功能
2020/06/18 Javascript
[59:48]DOTA2-DPC中国联赛 正赛 VG vs Magma BO3 第一场 1月26日
2021/03/11 DOTA
常见python正则用法的简单实例
2016/06/21 Python
python批量制作雷达图的实现方法
2016/07/26 Python
python 寻找优化使成本函数最小的最优解的方法
2017/12/28 Python
python使用tensorflow保存、加载和使用模型的方法
2018/01/31 Python
Python 实现网页自动截图的示例讲解
2018/05/17 Python
Python加载带有注释的Json文件实例
2018/05/23 Python
Python面向对象之接口、抽象类与多态详解
2018/08/27 Python
python使用selenium登录QQ邮箱(附带滑动解锁)
2019/01/23 Python
Pytorch在dataloader类中设置shuffle的随机数种子方式
2020/01/14 Python
Python读取VOC中的xml目标框实例
2020/03/10 Python
几款Python编译器比较与推荐(小结)
2020/10/15 Python
基于Python-Pycharm实现的猴子摘桃小游戏(源代码)
2021/02/20 Python
C面试题
2015/10/08 面试题
建筑系毕业生自我鉴定
2014/01/24 职场文书
学生会竞选演讲稿
2014/04/24 职场文书
如何使用Python提取Chrome浏览器保存的密码
2021/06/09 Python
一文了解Java动态代理的原理及实现
2022/07/07 Java/Android