电脑培训:理解面向对象编程的简单例子

来源:百度文库 编辑:神马文学网 时间:2024/04/27 22:39:09
http://www.accp-teem.com.cn/ArticleView/2007-7-21/Article_View_1199.Htm#
离职在家这段时间一直在苦修PHP,今天状态不好就和一起学的朋友在群里开玩笑,以下就是今天开玩笑的成果。
一个借钱的类~让你知道只要面向对象就连记账都是件轻松事~
class you{
private $youMoney = 1000;
//一个借钱的方法
public function jie($number){
if ($this->youMoney >= $number){
$this->youMoney = $this->youMoney - $number; //借一次钱从钱包里扣一点...
echo "好,我可以借给你".$number."块钱,但是我也不多了.
";
}else {
echo "不好意思,我不能借给你".$number."这么多钱了.
";
}
}
}
//开始借钱吧!
$you = new you();
$you->jie(100);
$you->jie(100);
$you->jie(100);
$you->jie(100);
$you->jie(100);
$you->jie(499);
$you->jie(1);//最后一元钱都借给你了
$you->jie(1); //这不是在面向对象而是在面向一个月光族 -_-
输出信息为
好,我可以借给你100块钱,但是我也不多了.
好,我可以借给你100块钱,但是我也不多了.
好,我可以借给你100块钱,但是我也不多了.
好,我可以借给你100块钱,但是我也不多了.
好,我可以借给你100块钱,但是我也不多了.
好,我可以借给你499块钱,但是我也不多了.
好,我可以借给你1块钱,但是我也不多了.
不好意思,我不能借给你1这么多钱了.
怎么样?寓教于乐吧。只要把类写好放那不用动,以后谁找你借钱~借多少只要把金额告诉对象就可以了。这就是面向对象的好处。这还是一个类,借用上面的类讲一下继承又顺便恶搞了一下。送给有妻管严的幸福朋友们 -_-
class you{
protected  $youMoney = 1000;
//一个借钱的方法
public function jie($number){
if ($this->youMoney >= $number){
$this->youMoney = $this->youMoney - $number; //借一次钱从钱包里扣一点...
echo "老婆,这个月我向家里交".$number."块钱,但是我也不多了.

";
}else {
echo "老婆,我真的连".$number."块钱都没了.
";
exit;
}
}
}
class youself extends you {   //类的继承使用关键字extends
public function getMoney(){ //这个方法是获得被借钱以后还剩多少钱用的
return $this->youMoney;  //直接调用父类中的属性youMoney
}
}
$youself = new youself();
$youself->jie(600);
echo "老婆,我零花钱就剩".$youself->getMoney()."块钱了。
";
$youself->jie(400);
echo "老婆,我零花钱就剩".$youself->getMoney()."块钱了。
";
$youself->jie(1);
echo "老婆,我零花钱就剩".$youself->getMoney()."块钱了。
";
?>
输出信息
老婆,这个月我向家里交600块钱,但是我也不多了.
老婆,我零花钱就剩400块钱了。
老婆,这个月我向家里交400块钱,但是我也不多了.
老婆,我零花钱就剩0块钱了。
老婆,我真的连1块钱都没了.
今天做学生管理时写的一个类,简单易用。
header("Content-Type: text/html; charset=UTF-8");
class userselect{
private $userid;
private $username;
private $userpasswd;
private $userinfo;
public function __setusername($name){
require_once("config.inc.php");
$sql = "select * from username where uname=‘$name‘";
$conn = @mysql_pconnect($dbhost,$dbuser,$dbpasswd);
$my_db = mysql_select_db($dbname,$conn);
$result = mysql_query($sql,$conn);
$this->userinfo = mysql_fetch_array($result);
mysql_close($conn);
$this->getuserInfo(); //容易忽略的一步 调用数组返回函数
}
private function getuserInfo(){
$this->userid = $this->userinfo["id"];
$this->username = $this->userinfo["uname"];
$this->userpasswd = $this->userinfo["upasswd"];
}
public function getuserid(){
return $this->userid;
}
public function getusername(){
return $this->username;
}
public function getuserpasswd(){
return $this->userpasswd;
}
}
/*
类的使用说明,创建对象以后,使用__setusername()函数确定要查询的学生姓名,再使用get系列的函数得到
查询过的值.
*/
?>
$xiao = new userselect();
$xiao->__setusername("tom");
echo "学生编号是 ".$xiao->getuserid()."
";
echo "学生姓名是 ".$xiao->getusername()."
";
echo "学生密码是 ".$xiao->getuserpasswd()."
";
?>
我觉得学习PHP等这些开发语言最好的方法就是阅读优秀源代码,但前提是优秀的,不是把变量都设置成$a1,$a2~~~``那种作品。好的作品配上详细的注释在二次开发的时候能事半功倍。我前两个例子看似不严肃其实是我个人学习面向对象技术最深的感触,面向对象开发其实最难入门的是考虑问题的方法。可能刚开始不太适应,但如果掌握了,我相信在开始某些程序的时候你的思维会更活跃。刚学PHP没多久一点点心得而已,让同样也是刚入门的同学们能快快理解PHP这样一门优秀的语言。
这段时间的我的感触挺多了,有难过的也有值得高兴的,昨天有两个朋友通过这个博客找到了我,和我说了很多,其实在家休息这段时间一直没怎么研究UNIX这些东西,只不过把PHP平台搭建起来就完事了。 感谢51cto让我结识了很多志同道合的朋友。
出自 51CTO.COM博客