程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 類的成員方法

類的成員方法

編輯:PHP綜合

什麼是成員方法?通俗的講,如果把一個函數寫到了類裡,這個函數就稱為成員方法。調用成員方法與調用普通函數的機制相同。

基本語法:

訪問修飾符 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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved