Welcome 微信登录

首页 / 网页编程 / PHP / 类的成员方法

类的成员方法2016-09-19 本站 乖兔快跑什么是成员方法?通俗的讲,如果把一个函数写到了类里,这个函数就称为成员方法。调用成员方法与调用普通函数的机制相同。

基本语法:

访问修饰符 function 函数名(形参列表){

函数体;

}

例:现在有这样一个需要,希望人这个类可以说话、可以计算1到1000的累加结果,并且可以接收一个数n,计算1到n的累加结果,并且可以计算两个数的和。

<?php
class Person {
public $name;
public $age;
public function speak() { //成员方法
echo "www.bianceng.cn";
}
public function count1() {
$res = 0;
for ($i = 1; $i <= 1000; $i++) {
$res+=$i;
}
return $res;
}
//该方法可以接收一个n,计算1到n的累加值。
public function count2($n) {
$res = 0;
for ($i = 1; $i <= $n; $i++) {
$res+=$i;
}
return $res;
}
//计算两个数的和
public function add($num1, $num2) {
return $num1 + $num2;
}
}
//如何使用成员方法
$p1 = new Person(); //创建对象
$p1->speak(); //通对对象调用成员方法
$p1->count1();
echo "<br />" . $p1->count1();
//可以接收一个n,计算1到n的累加值
echo "<br />计算结果是:" . $p1->count2(100);
echo "<br />46+54的结果是:" . $p1->add(46, 54);
?>

例:以面向对象开发方式编程,从网页输入一个整数,打印对应的金字塔。

MyInputView.php:

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=GBK" />
</head>
<body>
<form action="Print.php" method="post">
请输入层数:<input type="text" name="layer">
<input type="submit" value="打印">
</form>
</body>
</html>

Print.php:

<?php
//引入ABC.class.php文件
require_once "ABC.class.php";
//接收MyInputView.php提交的数据,并进行处理
$layer=$_REQUEST["layer"];
//打印金字塔
$abc1=new ABC();
$abc1->printstar($layer);
?>

ABC.class.php:

<?php
class ABC {
//接收一个数,并打印金字塔
public function printstar($n) {
for ($i = 1; $i <= $n; $i++) {
//打印空格
for ($k = 1; $k <= $n - $i; $k++) {
echo "&nbsp;";
}
//打印*的个数
for ($j = 1; $j <= ($i - 1) * 2 + 1; $j++) {
echo "*";
}
echo "<br />";
}
}
}
?>

例:编写一个类,实现如下要求:

1 可以做四则运算;

2 也可以运算圆的面积。

3、注意隐藏域的运用hidden

CatView.php:

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=GBK" />
</head>
<body>
<!--四则运算*/-->
<form action="CatWork.php" method="post">
<h1>四则运算</h1>
第一个数:<input type="text" name="num1" /><br />
第二个数:<input type="text" name="num2" /><br />
运算符号:
<select name="oper">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<br />
<!--这里使用一个隐藏域-->
<input type="hidden" name="doing" value="jishuan">
<input type="submit" value="开始计算">
</form>
<form action="CatWork.php" method="post">
<h1>计算圆的面积</h1>
请输入半径:<input type="text" name="radius" /><br />
<!--这里使用一个隐藏域-->
<input type="hidden" name="doing" value="area">
<input type="submit" value="计算面积">
</form>
</body>
</html>

CatWork.php:

<?php
//接收数据
//接收num1,num2,运算符号
require_once "Cat.class.php";
//首先接收doing
$doing = $_REQUEST["doing"];
$cat1 = new cat();
if ($doing == "jishuan") {
$num1 = $_REQUEST["num1"];
$num2 = $_REQUEST["num2"];
$oper = $_REQUEST["oper"];
$res = $cat1->jishuan($num1, $num2, $oper);
echo "运算结果是:" . $res . "<br />";
} else if ($doing == "area") {
$radius = $_REQUEST["radius"];
echo "运算结果是:" . $cat1->circleArea($radius);
}
?>
<br/><a href="CatView.php">返回主界面</a>

Cat.class.php:

<?php
class Cat {
function circleArea($radius) {
return 3.1415926 * $radius * $radius;
}
function jishuan($num1, $num2, $oper) {
switch ($oper) {
case "+":
return $num1 + $num2;
break;
case "-":
return $num1 - $num2;
break;
case "*":
return $num1 * $num2;
break;
case "/":
return $num1 / $num2;
break;
}
}
}
?>
URL:http://www.bianceng.cn/webkf/PHP/201609/50450.htm