php 中类,面象对象的程序方法学习疑问!
发布网友
发布时间:2022-04-06 01:56
我来回答
共2个回答
热心网友
时间:2022-04-06 03:25
你不看书,光这么问,我看好像不行吧?你说呢???
以下内容存扩展名为php
----------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>code wrote by macleo 面向对象</title>
<meta name="keywords" content="macleo,morrsion,php,mysql,ruby,">
<meta name="description" content="macleo's localhost program and function study manager tools">
<meta name="generator" content="macleo">
<meta name="MSSmartTagsPreventParsing" content="TRUE">
<meta http-equiv="MSThemeCompatible" content="Yes">
</head>
<body>
<?php
/*
来自:Internet
要我说,无论是面向过程的语言也好,面向对象的语言也罢,我首先要给他讲的都是类和对象!--------“这个世界是由什么组成的?”这个问题如果让不同的人来回答会得到不同的答案。如果是一个化学家,他也许会告诉你“还用问嘛?这个世界是由分子、原子、离子等等的化学物质组成的”。如果是一个画家呢?他也许会告诉你,“这个世界是由不同的颜色所组成的”。……呵呵,众说纷纭吧!但如果让一个分类学家来考虑问题就有趣的多了,他会告诉你“这个世界是由不同类型的物与事所构成的”好!作为面向对象的程序员来说,我们要站在分类学家的角度去考虑问题!是的,这个世界是由动物、植物等组成的。动物又分为单细胞动物、多细胞动物、哺乳动物等等,哺乳动物又分为人、大象、老虎……就这样的分下去了!
现在,站在抽象的角度,我们给“类”下个定义吧!我的意思是,站在抽象的角度,你回答我“什么是人类?”首先让我们来看看人类所具有的一些特征,这个特征包括属性(一些参数,数值)以及方法(一些行为,他能干什么!)。每个人都有身高、体重、年龄、血型等等一些属性。人会劳动、人都会直立行走、人都会用自己的头脑去创造工具等等这些方法!人之所以能区别于其它类型的动物,是因为每个人都具有人这个群体的属性与方法。“人类”只是一个抽象的概念,它仅仅是一个概念,它是不存在的实体!但是所有具备“人类”这个群体的属性与方法的对象都叫人!这个对象“人”是实际存在的实体!每个人都是人这个群体的一个对象。老虎为什么不是人?因为它不具备人这个群体的属性与方法,老虎不会直立行走,不会使用工具等等!所以说老虎不是人!
由此可见-------类描述了一组有相同特性(属性)和相同行为(方法)的对象。在程序中,类实际上就是数据类型!例如:整数,小数等等。整数也有一组特性和行为。面向过程的语言与面相对象的语言的区别就在于,面向过程的语言不允许程序员自己定义数据类型,而只能使用程序中内置的数据类型!而为了模拟真实世界,为了更好的解决问题,往往我们需要创建解决问题所必需的数据类型!面向对象编程为我们提供了解决方案。
*/
//首先定义一个Fruit类
class Fruit
{
//Fruit 类的属性有,如下所示.
//var $quantity;
public $color;
public $taste;
public $energy;
public $name;
//
function Fruit($n,$c,$t,$e)//Fruit类的构造函数
{
$this->name = $n;
//$this->quantity=$q;
$this->color=$c;
$this->taste=$t;
$this->energy=$e;
}
//Fruit 类的方法有,如下所示.(当然其实还有其他的方法,不过,我其实也没有领悟到精髓,只能给你举例若此啦)
function display()//显示水果的情况
{
//$this->quantity=$this->quantity-1;//数量减少
print("<br><font color=green>水果名称:$this->name<br>水果颜色:</font><font color=$this->color>$this->color</font><font color=green><br>水果味道:$this->taste<br>水果蕴含的能量:$this->energy</font><br><br>");
}
/*
*/
};
//建立一个Person 类
class Person
{
public $name;
public $age;
public $height;
public $gender;
public $strength;
public $strength_limit;
function Person($n,$a,$h,$g)////Person类的构造函数
{
$this->name=$n;
$this->strength=50;
$this->age=$a;
$this->height=$h;
$this->gender=$g;
$this->strength_limit=100;
}
function display()
{
print("<br><font color=blue>人物姓名:$this->name<br>人物性别:$this->gender<br>人物身高:$this->height cm <br>人物年龄:$this->age<br>人物所蕴含的能量:$this->strength</font><br><br>");
}
function eat($name,$energy)//eat 方法会增加strength
{
if($this->strength < $this->strength_limit)
{
$this->strength+=$energy;
print("<font color=purple>$this->name 吃掉了 $name,$this->name 力量增加为 : $this->strength!</font><br>");
}
else
print ('<font color=purple>OK,I can\'t eat more!<font><br>');
}
};
$apple = new Fruit("苹果","red","很好吃",5); //用Fruit类建立一个apple的实例.
$macleo = new Person("macleo",19,175,"男性"); //用Person类建立一个人的实例.
echo "首次显示 $apple->name 的情况!<br>";
$apple->display();//调用Fruit类的成员函数显示apple的情况
echo "首次显示 $macleo->name 的情况!<br>";
$macleo->display();//调用Person类的成员函数显示实例macleo的情况
echo "当 $macleo->name 吃了$apple->name 后!<br>";
$macleo->eat($apple->name,$apple->energy);
echo "再次显示 $macleo->name 的情况!<br>";
$macleo->display();//调用Person类的成员函数显示实例macleo的情况
?>
</body>
</html>
热心网友
时间:2022-04-06 04:43
呵呵,不知道
参考资料:www.sina.com