
批改狀態(tài):合格
老師批語(yǔ):抽象類,只能做父類使用,且不能實(shí)例化, 這個(gè)要牢記
<?php
//抽象類、抽象方法
//類中只要有抽象方法。就需要聲明為抽象類
//抽象類定義 abstract
abstract class Rule{
public $name;
public $exp;
public function __construct($name = '',$exp=0){
$this->name =$name;
$this->exp =$exp;
}
//吃飯
public function chifan(){
echo '<br>我正在吃飯';
}
//打怪
abstract public function daguai();
//升級(jí)
abstract protected function shengji();
//只要類中有抽象方法 ,類就要聲明為abstrat ,抽象方法不能被聲明為私有 ,抽象方法沒(méi)有方法體,不用寫大括號(hào)。
}
//抽象類不可實(shí)例化、必須被擴(kuò)展類繼承之后完成 抽象類中定義的所有抽象方法后才能被實(shí)例化
class Role extends Rule{
public function __construct($name = 'xiaoA'){
parent::__construct($name);
}
//父級(jí)抽象類的具體方法應(yīng)該可以直接使用
//實(shí)現(xiàn)抽象方法
public function daguai($boss= 9999,$skill= 1000){
while($boss>0){
$boss = $boss - $skill;
echo '<br>繼續(xù)攻擊<br>';
}
echo '<br>勝利<br>';
}
public function shengji($exp=10000,$level=1){
$up = $level + $exp/1000;
echo '<br>恭喜升到'.$up.'級(jí)<br>';
}
}
$A = new Role('littleA');
echo '當(dāng)前玩家'. $A->name. '經(jīng)驗(yàn)為' . $A->exp;
$A->chifan();
$A->daguai();
$A->shengji();
執(zhí)行結(jié)果:
<?php
//接口定義一種類的規(guī)定 方法必須是public
//interface
interface IPhone{
//接口中可以有方法和類常量,而方法不需要有方法體
//定義常量
const NAME = 'iphone';
const AI = 'siri';
public function call($number);
public function camera($SOC);
public function music();
}
//一個(gè)類來(lái)實(shí)現(xiàn)接口中定義的方法
class IphoneX implements IPhone{
public $screen;
public $charge;
public function call($number){
echo '用iPhoneX打電話給'.$number;
}
public function camera($SOC){
echo '用iPhoneX照相';
}
public function music(){
echo '用Airpods聽(tīng)音樂(lè)';
}
}
class Iphone8 implements IPhone{
public $screen;
public $charge;
public function call($number){
echo '用iPhone8打電話給'.$number;
}
public function camera($SOC){
echo '用iPhone8照相';
}
public function music(){
echo '用iPhone8聽(tīng)音樂(lè)';
}
}
$iphone8 = new Iphone8;
$iphoneX = new IphoneX;
echo $iphone8->music();
echo '<br>';
echo $iphoneX->music();
執(zhí)行結(jié)果:
總結(jié):學(xué)了抽象類,接口的定義。其中抽象方法不能為私有,必須能被子類訪問(wèn),接口的方法必須是public。子類需要實(shí)現(xiàn)抽象類定義的全部方法才能被實(shí)例化。
手寫:
微信掃碼
關(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)