Why is it possible to override instance variables in PHP but not in Java?

前端 未结 2 1128
忘掉有多难
忘掉有多难 2021-02-09 14:37

Consider the code below:

name;
              


        
相关标签:
2条回答
  • 2021-02-09 14:44

    No, it has nothing to do with weak typing.

    I guess this was simply a design decision that the PHP developers took. It may be because it is more of a scripting language than Java. (In Java, you would need to have a "virtual" lookup table for fields to support this or, alternatively, automatically generated getters / setters).

    0 讨论(0)
  • 2021-02-09 14:52

    You made the instance variable protected, this means extending classes can overwrite it. If you want to prevent that use private.

    http://www.php.net/manual/en/language.oop5.visibility.php

    0 讨论(0)
提交回复
热议问题