php面向对象基础
1、类
由众多对象抽象出来的
它包含了对象通用的特性
2、对象
一切皆对象
它是由实例化出来的
例:
求两个圆之间阴影的面积
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <body> <?php $r1 = 10; $r2 = 5; $mj = 3.14*$r1*$r1 - 3.14*$r2*$r2; echo $mj; ?> </body> </html>
输出的结果是:
这种方式叫 面向过程的方式
1.将圆抽象为一个类
class yuan
{
var $banjing; //圆类的一个成员变量
面积,成员方法
function mianji()
{
return 3.14*$this->banjing*$this->banjing;
}
}
2.实例化对象
$yuan = new yuan();
$yuan->banjing = 10;
echo $yuan->mianji();
var_dump($yuan);
$this关键字在类里面代表该对象
//造一个大圆
$maxyuan = new yuan();
$maxyuan->banjing = 10;
//造一个小圆
$minyuan = new yuan();
$minyuan->banjing = 5;
echo $maxyuan->mianji()-$minyuan->mianji();
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <body> <?php class yuan { var $banjing; function mianji() { return 3.14*$this->banjing*$this->banjing; } }
//实例化对象 /*$yuan=new yuan(); 由类实例化出来的,这个圆里面就有一个东西半径
$yuan->banjing = 10; 给半径赋值
echo $yuan->mianji(); ->用来调用
var_dump($yuan);*/
$maxyuan=new yuan(); $maxyuan->banjing=10; $minyuan=new yuan(); $minyuan->banjing=5; echo $maxyuan->mianji()-$minyuan->mianji(); ?> </body> </html>
输出的结果和面向过程方式输出的答案一样