|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
大部分语言的基础,不是说c有多好,而是c相对起手容易学,让你认为这个是编程语言,
重载(与掩盖分歧)在PHP中不撑持。在OOP中,你可以重载一个办法来完成两个或重多的办法具有不异
的名字,然而有分歧数目或类型的参数(这要看言语)。PHP 是一种松懈类型的言语,所以经由过程类型重载不
起感化,但是经由过程参数的个数分歧来重载也不起感化。
有时在OOP中重载机关函数十分好,如许你可以经由过程分歧的办法创立对象(传递分歧数目的参数)。在PHP
中完成它的技能是:
--------------------------------------------------------------------------------
<?php
class Myclass {
function Myclass() {
$name="Myclass".func_num_args();
$this->$name();
//注重$this->name()通常为毛病的,然而在这里$name是一个将被挪用办法的名字
}
function Myclass1($x) {
code;
}
function Myclass2($x,$y) {
code;
}
}
?>--------------------------------------------------------------------------------
经由过程在类中的额定的处置,利用这个类对用户是通明的:
$obj1=new Myclass('1'); //将挪用Myclass1
$obj2=new Myclass('1','2'); //将挪用Myclass2
有时这个十分好用。
多态
多态是对象的一种才能,它可以在运转时辰依据传递的对象参数,决意挪用哪个对象的办法。例如,
假如你有一个figure的类,它界说了一个draw的办法。而且派生了circle和rectangle 类,在派生类中你覆
盖了draw办法,你能够还有一个函数,它但愿利用一个参数x,而且可以挪用$x->draw() 。假如你有多态性,
挪用哪一个draw办法就依附于你传递给这个函数的对象类型。
多态性在象PHP如许的注释言语(想象一下一个C++编译器生成如许的代码,你应当挪用哪个办法?你
也不晓得你具有的对象是甚么类型的,好,这不是重点)长短常轻易和天然的。所以PHP固然撑持多态性。
--------------------------------------------------------------------------------
<?php
function niceDrawing($x) {
//假定这是Board类的一个办法
$x->draw();
}
$obj=new Circle(3,187);
$obj2=new Rectangle(4,5);
$board->niceDrawing($obj);
//将挪用Circle的draw办法
$board->niceDrawing($obj2);
//将挪用Rectangle的draw办法
?>--------------------------------------------------------------------------------
用PHP停止面向对象编程
一些"纯化论者(purists)"能够会说PHP不是一个真实的面向对象的言语,这是现实。PHP 是一个夹杂型
言语,你可使用OOP,也能够利用传统的进程化编程。但是,关于大型项目,你能够想/需求在PHP 中利用
纯的OOP去声明类,并且在你的项目只用对象和类。
跟着项目愈来愈大,利用OOP能够会有匡助,OOP代码很轻易保护,轻易了解和重用。这些就是软件工程
的基本。在基于web的项目中使用这些概念就成为未来网站胜利的关头。
在学习中,我也一直这样要求着自己。 |
|