下面是一个php 面象对象的例子,很简单,帮助大家掌握php oop的思想。
1、定义类
<?php
//定义一个类
//www.
/*
class Cat{
public $name;
public $age;
}
$cat1=new Cat();
$cat1->name ="小白";
$cat1->age=10;
echo $cat1->name.'---'.$cat1->age;
*/
//对象传递的形式,地址传递
class Person{
public $name;
public $age;
}
//定义一个方法,接收对象,并改变对象的name
function changeNane($obj){
$obj->name="我已经改名为:张三。";
}
//创建一个对象
$a = new Person;
$a->name="小明";
$a->age=21;
$b=$a;
//调用方法
changeNane($a);
//输出$a,$b
echo '$a是:'.$a->name.'<br/>';
echo '$b是:'.$b->name;
//从输出结果来看,对象的赋值或者函数接收对象时都是地址传递,他们指向同一地址
?>
总结:
1、类是抽象的,代表一类事物
2、对象是具体,是类的一个具体实例或者说类是对象的模板, 对象是类的一个个体实例
3、成员属性,它可以是 基本数据类型(整数、小数、字符、布尔),也可以是复合数据类型(数组、对象)
4、如果一个文件,专门用于定义类,则命名规范应当这样类名.class.php
5、对象的赋值或者函数接收对象时都是地址传递,他们指向同一地址
代码实现:
1、添加speak 成员方法,输出 我是小明
2、添加jisuan 成员方法,可以计算从 1+..+1000的结果
3、修改jisuan 成员方法,该方法可以接收一个数n,计算 1+..+n 的结果
4、添加add 成员方法,可以计算两个数的和
代码示例-php 面向对象:
<?php
/**
php 面向对象 成员方法
site www. 2013-4-6
*/
class Person{
public $name;
public $age;
//添加成员方法
public function speak(){
echo "";
}
public function jisuan(){
//计算从 1+..+1000的结果
$result =0;
for($i=1;$i<=1000;$i++){
$result+=$i;
}
//把计算结果ruturn 返回
return $result;
}
public function jisuan2($n){
//计算从 1+..+n的结果
$result=0;
for($i=1;$i<=$n;$i++){
$result+=$i;
}
//return
return $result;
}
//计算2个数的和
public function add($num1,$num2){
return $num1+$num2;
}
}
$person1= new Person;
//www.
$person1->speak().'<br/>';
//计算
echo '<br/>'.$person1->jisuan();
//echo '<br/>'.$person1->jisuan(100);
//带参数的
echo '计算的结果是:'.$person1->jisuan2(5);
//计算2个数的和
echo "<br/>50+50=".$person1->add(50,51);
?>冒泡排序(BubbleSort)
依次比较相邻的两个数,将小数放在前面,大数放在后面。
即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。
然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。
至此第一趟结束,将最大的数放到了最后。
在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。
如此下去,重复以上过程,直至最终完成排序。
有兴趣的朋友,可以参考下之前为大家介绍的php 冒泡排序的例子。
示例代码:
<?php
//冒泡排序方法
function bubblesort(&$arr){
//定义一个变量保存交换的值
$temp =0;
for($i=0;$i<count($arr);$i++){
for($j=0;$j<count($arr)-$i-1;$j++){
if($arr[$j]>$arr[$j+1]){
//如果前面的那个数大于后面的那个数,那么他们就进行交换
$temp=$arr[$j];
$arr[$j]=$arr[$j+1];
$arr[$j+1]=$temp;
}
}
}
}
$arr=array(100,99,200,5,-4,6,-7);
bubbleSort($arr);
print_r($arr); //数组是值传递,所以传递的时候加个&符号就是地址传递,改变外部变量
//www.
?>
您可能感兴趣的文章:
php冒泡排序的小例子
php 实现冒泡排序的简单例子
php 数组排序方法分享(冒泡排序、选择排序)
php冒泡排序之交换排序法
php冒泡排序(bubble sort)的例子
php实现冒泡排序算法的代码
php冒泡排序算法一例
php冒泡排序与快速排序的例子