首页 > php教程 > php手册 > 正文

细说php(七) 面向对象编程

php中文网
发布: 2016-06-13 09:26:11
原创
1180人浏览过

乐尚团购
乐尚团购

乐尚团购系统,是一项基于PHP+MYSQL为核心开发的一套免费 + 开源专业团购系统。软件具执行效率高、模板自由切换、后台管理功能方便等诸多优秀特点。本软件是基于Web应用的B/S架构的团购网站建设解决方案的建站系统。它可以让用户高效、快速、低成本的构建个性化、专业化、强大功能的团购网站。从技术层面来看,本程序采用目前软件开发IT业界较为流行的PHP和MYSQL数据库开发技术,基于面向对象的编程,

乐尚团购 0
查看详情 乐尚团购

细说php(七) 面向对象编程

一、类的声明与对象初始化

1.1 在类中声明成员属性时: 前面必须有修饰词, 当不知道使用那个时, 就使用var, 如果知道使用那一个修饰关键字, 就不使用var了

var $color;

var $name = "zhangsan"


1.2 一个文件只保存一个类, 文件名中包含类名, 如:类名.class.php

person.class.php


1.3 使用new关键字来创建对象, 创建了一个对象就在内存中分配一个空间 $对象引用 = new 类名;

$person = new Person

<?php
	class Person {
		var $name;      // Java: private String name;
		var $age;
		var $sex;
	
		function say() {
			echo $this->name;
		}
	}
	
	$p1 = new Person;   // Java: Person person = new Person;
	$p1->name = "lisi"; // Java: person.name = "lisi";
	$p1->say();         // Java: person.say();
?>
登录后复制
1.4 对象在内存中的分配

a. 栈内存: 存放局部变量

b. 堆内存: 存放对象

c. 共享区: 存放静态变量

d. 代码段: 存放方法等


二、构造函数和析构函数

2.1 构造函数:

a. 构造方法是对象创建完成之后, 第一个自动调用的方法

b. 在PHP4中, 和类同名的方法就是构造方法

c. 在PHP5中, 构造方法选择使用魔术方法 __construct() , 所有类中声明构造方法都使用这个名称

优点: 在改变类名时构造方法不用改变

d. 构造方法的作用: 为成员属性初始化

<?php
	class Person {
		var $name;
		var $age;
		var $sex;
	
		function __construct($name="", $age=0, $sex="男"){
			$this->name=$name;
			$this->age=$age;
			$this->sex=$sex;
		}
	
		function say(){
			echo "我的名子:{$this->name},我的年龄:{$this->age},我的性别:{$this->sex}。<br>";
		}
	}
	
	$p1=new Person("zhangsan", 20, "女");
	$p2=new Person("lisi", 25);
	$p3=new Person("wangwu");
	
	$p1->say();
	$p2->say();
	$p3->say();
?>
登录后复制

2.2 析构函数:

a. 析构函数是指当对象被释放之前最后一个自动调用的方法

b. 和Java一样, PHP也使用垃圾回收器释放资源, 只不过PHP调用后马上回收, 而Java不是.

c. 析构函数的作用: 关闭一些资源, 做一些清理工作, 使用魔术方法 __destruct()

<?php
	class Person {
		var $name;
		var $age;
		var $sex;
	
		function __construct($name="", $age=0, $sex="男"){
			$this->name=$name;
			$this->age=$age;
			$this->sex=$sex;
		}
	
		function say(){
			echo "我的名子:{$this->name},我的年龄:{$this->age},我的性别:{$this->sex}。<br>";
		}
		
		function __destruct(){
			echo $this->name."再见!<br>";
		}
	}
	
	$p1=new Person("zhangsan", 20, "女");
	$p1->say();
	$p1 = null;
	
	// 我的名子:zhangsan,我的年龄:20,我的性别:女。
    // zhangsan再见!
?>
登录后复制


2.3 魔术方法

魔术方法是系统给我们提供好的, 在不同时刻为完成某一功能而自动调用的方法, 不同的魔术方法有不同的调用时机

魔术方法以 __ 开头

__construct(); // 构造函数
__destruct(); // 析构函数
__set();
__get();
__isset();
__unset();
__clone();
__call();
__sleep();
__weakup();
__toString()
__autoload();

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号