PHP基础OOP(一)
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title>
<link rel="stylesheet" type="text/css" href="Basedemo/DemoPage.css"></head> <body>
<div id="main">
<div id="wrapper"> <h3>类和对象的创建</h3>
<div id ="content">
<?php
//
//================PHP的面向对象基础===============
//
//
//PHP的面向对象是在PHP4.0时引入的设计
//对象:使用新的数据类型管理相同事物的变量
//类的命名规范:类名.class.php(Animal.class.php)
//基本类的定义 class 类名{属性;构造方法;成员方法;析构方法};
//
//====类的引用或包含:
//require 'prepend.php';
//require ('somefile.txt');
//require_once'Animal.class.php';
//include(Animal.class.php)
//include_once("a.php");
//区别:
//加once的,如果重复引用,则只引一次
//include和require的区别在于,在处理失败时的提示
//include处理失败提示警告,后面的代码会执行
//require处理失败提示致命错误,后面的代码不执行
//
//====类成员的访问
//PHP类的实例化:$cat = new Animal(); 或者 $cat = new Animal;带括号或不带都可以
//对象属性的访问和赋值: $cat ->name="小白";
//对象方法的访问:$cat->Say();
//
//====内存数据分布:静态区、常量区、代码区、堆区、栈区
//堆区:存放对象
//栈区:存放基本数据类型和引用类型的引用地址
//
//====PHP的值传递与引用传递
//给函数传递一个对象,是引用传递,给函数传一个基本数据类型(整数、小数、布尔、字符),是值传递
//【基本数据类型中的字符串类型与C#不同,因为他们在传递过程中都是值传递】
//如果希望是引用传递则在变量前加&符:function fun(&变量,&变量,...){}
//
// //定义一个动物类Animal:
class Animal
{
public $name;
public $age;
public $color; public function Say()
{
echo "这是一只".$this->color."的".$this->name."今年已经".$this->age."岁了<br/>";
}
} //实例化一个对象
$cat = new Animal(); $cat->name = "小猫";
$cat->age=1;
$cat->color="白色";
$cat->Say();
//echo "这是一只".$cat->color."的".$cat->name."今年已经".$cat->age."岁了<br/>";
//output: 这是一只白色的小猫今年已经1岁了 //实例化一个对象
$dog = new Animal(); $dog->name = "小狗";
$dog->age=2;
$dog->color="黑色";
$dog->Say();
//echo "这是一只".$dog->color."的".$dog->name."今年已经".$dog->age."岁了<br/>";
//output: 这是一只黑色的小狗今年已经2岁了 ?>
</div> <h3>函数的细节</h3>
<div id ="content">
<?php
//参数列表:参数可以是任意类型
//方法可以有返回值,也可以没有返回值
function FindMax($arr)
{
$maxVal=$arr[0];
$maxIndex=0;
for ($i=1; $i <count($arr) ; $i++) {
if($maxVal<$arr[$i])
{
$maxVal = $arr[$i];
$maxIndex = $i;
}
}
return $maxVal;
} $arr1 = array(2,8,9,11,1,5);
$result = FindMax($arr1);
var_dump($arr1);
echo "<br/>最大的数是:";
echo $result; ?>
</div> <h3>构造函数 与 析构函数</h3>
<div id ="content">
<?php
/**
* 构造函数:function __construct(){}
* 1.类实例化时赋值,完成对类的对象初始化
* 2.每个类有一个默认的构造函数,自定义的构造函数会覆盖默认的构造函数
* 3.一个类只能有一个构造函数,不能重载
* 4.构造函数没有返回值,创建对象时自动调用
* 5.修饰符 默认为public
* 6.PHP4.0 的中的形式:public function Person(){}
* 7.PHP5新增的写法:public function __construct(){},PHP4中的写法依然有效
*/
class Person
{
public $Name;
public $Age;
public $Sex; //构造函数
public function __construct($Name,$Age,$Sex)
{
echo "构造函数执行了<br/>";
$this->Name = $Name;
$this->Age = $Age;
$this->Sex=$Sex;
} //自定义函数
public function Say()
{
echo "姓名:".$this->Name.", 性别:".$this->Sex.", 年龄:".$this->Age."<br/>";
} /*
*析构函数:function __destruct(){}
*用于释放对象资源(如:数据库链接、图片文件资源等)
*会自动调用,释放对象资源,并不销毁对象本身
*一个类只能有一个析构方法,没有参数
*对象的释放顺序,在栈中为先进后出,即最先创建的对象最后销毁
*垃圾回收:当对象没有任何引用指向时,会被自动回收(析构函数会立即调用)
*/
function __destruct()
{
echo "析构函数执行了,销毁对象: ".$this->Name."<br/>";
} } //实例化一个人类:
$p1 = new Person("张三","22","男");
$p2 = new Person("小美",19,"女");
$p1 ->Say();
$p2 ->Say();
?>
</div> </div>
</div> <div id="footer">
<div class="tri"></div>
<h1>Write some things for your project!</h1>
</div>
</body>
</html>
PHP基础OOP(一)的更多相关文章
- PHP基础OOP(二) 多态
		PHP 基础 多态 ====================多态是一种思想:从一个基类中派生,响应一个虚命令,产生不同的结果. 不同的对象执行相同的方法而产生不同的行 ... 
- 总结基础OOP(面向对象)
		OOP其实也就是面向对象编程. 一:什么是对象: 我们最常见的理解方式无非是:对象(object)是任何看得见.摸得着.感觉得到,可以获得的东西,有自己的标识的任何东西.对象是某一类的事物的具体个 ... 
- c#基础-oop(面向对象理解)
		OOP-面向对象 封装,继承多态 一个桌子,用面向对象来描述一下它这个桌子项目 定义桌子类 对象:桌子 桌子的属性:名字,材质,体积 桌子的方法;放东西(方法) 现在桌子要放书,放花瓶,放文件(这里就 ... 
- 面向对象(基础oop)之垃圾回收与静态成员
		大家好,我叫李京阳,,很高兴认识大家,之所以我想开一个自己的博客,就是来把自己所了解的知识点通过自己的话写一下,希望被博客园的朋友们点评和一起讨论一下,也希望从博客园中多认识一些软件开发人员!现在我开 ... 
- 面向对象(基础oop)之继承总结
		大家好,我叫李京阳,,很高兴认识大家,之所以我想开一个自己的博客,就是来把自己所了解的知识点通过自己的话写一下,希望被博客园的朋友们点评和一起讨论一下,也希望从博客园中多认识一些软件开发人员!现在我开 ... 
- 面向对象(基础oop)之进入继承
		大家好,我叫李京阳,,很高兴认识大家,之所以我想开一个自己的博客,就是来把自己所了解的知识点通过自己的话写一下,希望被博客园的朋友们点评和一起讨论一下,也希望从博客园中多认识一些软件开发人员!现在我开 ... 
- 面向对象(基础oop)之初识继承
		大家好,我叫李京阳,,很高兴认识大家,之所以我想开一个自己的博客,就是来把自己所了解的知识点通过自己的话写一下,希望被博客园的朋友们点评和一起讨论一下,也希望从博客园中多认识一些软件开发人员!现在我开 ... 
- 面向对象(基础oop)之结构与数组高级
		大家好,我叫李京阳,,很高兴认识大家,之所以我想开一个自己的博客,就是来把自己所了解的知识点通过自己的话写一下,希望被博客园的朋友们点评和一起讨论一下,也希望从博客园中多认识一些软件开发人员!现在我开 ... 
- 面向对象(基础oop)之属性与构造函数
		大家好,我叫李京阳,,很高兴认识大家,之所以我想开一个自己的博客,就是来把自己所了解的知识点通过自己的话写一下,希望被博客园的朋友们点评和一起讨论一下,也希望从博客园中多认识一些软件开发人员!现在我开 ... 
随机推荐
- 数据结构算法C语言实现(十二)--- 3.4循环队列&队列的顺序表示和实现
			一.简述 空队列的处理方法:1.另设一个标志位以区别队列是空还是满:2.少用一个元素空间,约定以队列头指针在队尾指针下一位置上作为队列呈满的状态的标志. 二.头文件 //3_4_part1.h /** ... 
- AngularJs ngIf、ngSwitch、ngHide/ngShow
			在组合这些ng指令写到一篇文章里的时候,基本是有规则的,本兽会将功能相似相近的一类整合到一篇文章,方便理解和记忆. 这篇的三个指令也都是对DOM元素的操作,页面上显示/隐藏的判断,添加/移除的判断. ... 
- HDU 1811 Rank of Tetris(拓扑排序+并查集)
			题目链接: 传送门 Rank of Tetris Time Limit: 1000MS Memory Limit: 32768 K Description 自从Lele开发了Rating系统, ... 
- [JavaEE]Get请求URI中带的中文参数在服务端乱码问题的解决方法
			在Get请求中,如果请求参数中带有中文,如 http://localhost:8080/DinnerParty/shop/search?query=多伦多, 在服务端拿到的是乱码. 这是因为客户端提交 ... 
- oracle修改表字段名时报错:ORA-00054:资源正忙,但指定以NOWAIT方式获取资源,或者超时失效的问题
			打开sql plus select session_id from v$locked_object;查询出oracle锁定的会话ID SELECT sid, serial#, username, os ... 
- 《JavaScript权威指南》学习笔记 第七天 DOM操作
			由衷的觉得,随着IT技术的广泛的运用,个人电脑以及智能手机的使用,信息的获取与传播更为简单.但是我们获取有用信息的难度相反是越来越大了,想要保持住自己的注意力越来越难了.除了吃饭睡觉,我的精力都在电脑 ... 
- JavaWeb学习总结-03 JSP 学习和使用
			一 JSP JSP 是Java Server Pages的缩写,在传统的网页HTML文件中加入 Java 程序片段和JSP标签就构成了JSP网页. 1 JSP与Servlet的生成方式 Servlet ... 
- 使用Wireshark 抓取数据包
			Wireshark 是一个网络封包分析软件.网络封包分析软件的功能是获取网络封包,并尽可能显示出最为详细的网络封包资料.Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换. 一 ... 
- 电脑开启wifi功能
			在Win7下,以管理员身份启动cmd,输入以下两条命令创建虚拟Wifi,并启动Wifi.其中ssid为WiFi的名字,key为密码.C:\>netsh wlan set hostednetwor ... 
- Saltstack远程执行(四)
			Saltstack远程执行 语法例:salt '*' cmd.run 'w' - 命令:salt - 目标:'*' - 模块:cmd.run,自带150+模块,也可以自己写模块 - 返回:执行 ... 
