子类异常:
class MyException extends Exception{
public function test(){
echo 111;
}
}
try{
throw new MyException('aaaaaaa');
}catch(Exception $e){
$e->test(); //经过测试,这句代码居然没问题。Exception类中没有test方法啊,为什么还能调用
}
***********************后添加********************************
有点明白了。
<?php
//父类A
class A{
protected $_name="php"
}
//子类B
class B extends A{
public function getName(){
echo $this->_name;
}
}
function a(A $obj){
echo $obj->getName();
}
a(new B()) ;
//a()方法的参数类型是A类型,因为B是A的子类,所以可以接受,传递的参数实际上是B对象,所以能够调用B类中的
getName()方法。
qq_青枣工作室_0