批改状态:合格
老师批语:总结的不错
1、代码
<?phpinterface iComputer{function computer();}abstract class aComputer implements iComputer{public function write(){return '<br>计算完成';}}class Computer extends aComputer{public $a;public $b;public $str;// 变量类型转换:intval()、floatval()、strval()// 变量类型强制转换(改变变量本身):intval()、floatval()、strval()public function __construct($a,$b,$c){$this->a=$a;$this->b=$b;$this->str=$c;}function computer(){switch($this->str){case '+':// 连接.运算符和+运算符同级,所以+运算需要括起来return "{$this->a}+{$this->b}等于".($this->a+$this->b);break;case '*':return "{$this->a}*{$this->b}等于".$this->a*$this->b;break;case '/':return "{$this->a}➗{$this->b}等于".$this->a/$this->b;break;case '-'://连接.运算符和-运算符同级,所以-运算需要括起来return "{$this->a}-{$this->b}等于".($this->a-$this->b);break;default:return "{$this->a}和{$this->b}".'无法进行合法运算';}}}$sum=new Computer(20,23,'+');// echo $sum->b;echo $sum->computer();echo $sum->write();echo 'hr';echo '<br>';trait demo{function write($a){printf('trait中的方法:<pre>%s</pre>',print_r($a,true));}}class A{function write($a){printf('A类中的方法:<pre>%s</pre>',print_r($a,true));}}class B extends A{use demo;function write($a){printf('B类中的方法:<pre>%s</pre>',print_r($a,true));}}class C extends A{use demo;}class D extends A{// use demo;}(new B())->write([1,2,3,4]);(new C())->write([1,2,3,4]);(new D())->write([1,2,3,4]);
2、运行结果
1、interface接口类成员有:常量和抽象方法
2、接口类允许被多继承;implements继承关键字;
3、接口类允许被抽象类继承;
4、接口类继承中多态的应用:接口类->继承类->工作类(面向用户通用类)
5、trait类和抽象类以及接口类一样不能被实现,只能嵌入宿主中实现,trait是一个特殊类但不能用类常量;
6、如果父类和子类以及trait中有一个同名方法,优先级:子类>trait>父类;
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号