PHP中没有哪些OOP概念

时间:2015-10-20 13:05:50

标签: php oop php-5.4

我在网上搜索了很多,但无法找到许多人在面试问题中提出的答案或在谈论PHP时的一般问题。

  

PHP中没有哪些OOP概念?

我已经听过很多次,并且已经阅读过很多时候PHP并不是一个完全的OOP语言, 但当我谷歌它,我无法找到OOP的概念 在PHP中不可用。

请指导我。

由于

3 个答案:

答案 0 :(得分:2)

某些东西,其他语言(通常是强类型的)有重载,这意味着你可以有两个或更多的方法具有相同的名称但不同的方法但PHP没有它。

<?php

Class Foo{
    public function bar(){
        echo 'normal bar';
    }

    public function bar($arg){
        echo 'special bar with arg '. $arg;
    }
}

$f = new Foo();

您收到此错误:Fatal error: Cannot redeclare Foo::bar() in

答案 1 :(得分:2)

PHP中没有内置的用户定义对象类型转换方法(尽管有一些解决方法)。

<?php

class Book
{
    public $title;
    public $isbn;
}

class BookShelf
{
    public static function create($booklist)
    {
        echo "Here are your books!";
    }
}

$bookList = new Book;
BookShelf::create($bookList); // output "Here are your books!"

$bookList = new stdClass();
BookShelf::create((Book)$bookList); // output a parse error of undefined variable $bookList

答案 2 :(得分:0)

  1. 函数重载
  2. 操作员超载
  3. 多重继承
相关问题