
批改狀態(tài):合格
老師批語(yǔ):總結(jié)的不錯(cuò)
1、代碼
<?php
interface iComputer
{
function computer();
}
abstract class aComputer implements iComputer
{
public function write(){
return '<br>計(jì)算完成';
}
}
class Computer extends aComputer
{
public $a;
public $b;
public $str;
// 變量類(lèi)型轉(zhuǎn)換:intval()、floatval()、strval()
// 變量類(lèi)型強(qiáng)制轉(zhuǎn)換(改變變量本身):intval()、floatval()、strval()
public function __construct($a,$b,$c)
{
$this->a=$a;
$this->b=$b;
$this->str=$c;
}
function computer()
{
switch($this->str){
case '+':
// 連接.運(yùn)算符和+運(yùn)算符同級(jí),所以+運(yùn)算需要括起來(lái)
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 '-':
//連接.運(yùn)算符和-運(yùn)算符同級(jí),所以-運(yùn)算需要括起來(lái)
return "{$this->a}-{$this->b}等于".($this->a-$this->b);
break;
default:
return "{$this->a}和{$this->b}".'無(wú)法進(jìn)行合法運(yùn)算';
}
}
}
$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類(lèi)中的方法:<pre>%s</pre>',print_r($a,true));
}
}
class B extends A
{
use demo;
function write($a){
printf('B類(lèi)中的方法:<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、運(yùn)行結(jié)果
1、interface接口類(lèi)成員有:常量和抽象方法
2、接口類(lèi)允許被多繼承;implements
繼承關(guān)鍵字;
3、接口類(lèi)允許被抽象類(lèi)繼承;
4、接口類(lèi)繼承中多態(tài)的應(yīng)用:接口類(lèi)->繼承類(lèi)->工作類(lèi)(面向用戶通用類(lèi))
5、trait類(lèi)和抽象類(lèi)以及接口類(lèi)一樣不能被實(shí)現(xiàn),只能嵌入宿主中實(shí)現(xiàn),trait是一個(gè)特殊類(lèi)但不能用類(lèi)常量;
6、如果父類(lèi)和子類(lèi)以及trait中有一個(gè)同名方法,優(yōu)先級(jí):子類(lèi)>trait>父類(lèi);
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)