多态是面向对三个重要特性之一,但是有时跟一些php开发的朋友聊天,发现很多php程序员对多态都存在误解,有不少人以为多态就是根据传入参数的类型和个数不同,执行不同的函数,而其实,这个观点是错误的。
- <?php
- /**
- * 数据库基类
- */
- interface SqlDri {
- public function connect();
- }
- /**
- * mysql子类
- */
- class MysqlObj implements SqlDri {
- public function connect() {
- print "mysql connect success!";
- }
- }
- /**
- * mssql子类
- */
- class MssqlObj implements SqlDri {
- public function connect() {
- print "mssql connect success!";
- }
- }
- /**
- * 多态入口
- */
- class SqlEnt {
- public function connect(SqlDri $SqlDri) {
- $SqlDri->connect();
- }
- }
- $SqlEnt = new SqlEnt();
- $SqlEnt->connect(new MysqlObj());
- //$SqlEnt->connect(new MssqlObj());
- ?>
















