深入了解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 相关文章推荐
第二节--PHP5 的对象模型
Nov 16 PHP
PHP中数字检测is_numeric与ctype_digit的区别介绍
Oct 04 PHP
PHP插入排序实现代码
Apr 04 PHP
PHP 类相关函数的使用详解
May 10 PHP
深入file_get_contents与curl函数的详解
Jun 25 PHP
php实现12306火车票余票查询和价格查询(12306火车票查询)
Jan 14 PHP
php中switch与ifelse的效率区别及适用情况分析
Feb 12 PHP
PHP获取毫秒级时间戳的方法
Apr 15 PHP
PHP学习笔记(一):基本语法之标记、空白、和注释
Apr 17 PHP
在PHP站点的页面上添加Facebook评论插件的实例教程
Jan 08 PHP
php实现36进制与10进制转换功能示例
Jan 10 PHP
YII2 实现多语言配置的方法分享
Jan 11 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
ASP和PHP都是可以删除自身的
2007/04/09 PHP
PHP6 mysql连接方式说明
2009/02/09 PHP
php设计模式 Bridge (桥接模式)
2011/06/26 PHP
PHP人民币金额数字转中文大写的函数代码
2013/02/27 PHP
实现PHP多线程异步请求的3种方法
2014/01/17 PHP
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
2014/06/23 PHP
iOS10推送通知开发教程
2016/09/19 PHP
详解Yii2 rules 的验证规则
2016/12/02 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
PHP实现简易计算器功能
2020/08/28 PHP
浅析PHP中json_encode与json_decode的区别
2020/07/15 PHP
javascript常用方法、属性集合及NodeList 和 HTMLCollection 的浏览器差异
2010/12/25 Javascript
判断对象是否Window的实现代码
2012/01/10 Javascript
jQuery插件分享之分页插件jqPagination
2014/06/06 Javascript
jquery实现无限分级横向导航菜单的方法
2015/03/12 Javascript
微信小程序实现图片预加载组件
2017/01/18 Javascript
jQuery实现 上升、下降、删除、添加一行代码
2017/03/06 Javascript
详解基于vue-cli配置移动端自适应
2018/01/13 Javascript
使用 vue.js 构建大型单页应用
2018/02/10 Javascript
JS实现常见的查找、排序、去重算法示例
2018/05/21 Javascript
mpvue 如何使用腾讯视频插件的方法
2018/07/16 Javascript
基于vue和bootstrap实现简单留言板功能
2020/05/30 Javascript
Laravel 如何在blade文件中使用Vue组件的示例代码
2020/06/28 Javascript
详解javascript void(0)
2020/07/13 Javascript
在vue中使用image-webpack-loader实例
2020/11/12 Javascript
JavaScript实现下拉列表
2021/01/20 Javascript
wxpython 学习笔记 第一天
2009/03/16 Python
python类型强制转换long to int的代码
2013/02/10 Python
Sanic框架Cookies操作示例
2018/07/17 Python
浅谈Python爬虫基本套路
2019/03/25 Python
Python xml、字典、json、类四种数据类型如何实现互相转换
2020/05/27 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
2020/06/11 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
使用phonegap查找联系人的实现方法
2017/03/31 HTML / CSS
维修工先进事迹
2014/05/29 职场文书
HR求职自荐信范文
2014/06/21 职场文书