php抽象方法db,PHP笔记之抽象方法抽象类
抽象方法
定義:一個方法如果沒有方法體,則這個方法就是抽象方法。
1.一個方法們沒有{},直接使用分號結束的方法;
2.如果是抽象方法,必須使用abstract(抽象關鍵字來修飾)
抽象類
1.如果一個類中有一個方法是抽象方法,則這個類就是抽象類
2.必須加abstract關鍵字來修飾
注意:
1.只要有abstract來修飾的類就是抽象類,
2.抽象類是一種特殊的類,特殊在抽獻給中可以有抽象方法
3.除了在抽象類中可以有抽象方法以外,和正常的類完全一樣
4.抽象類不能實例化對象
5.如果看見抽象類,就必須寫這個類的子類,將抽象類中的抽象方法覆蓋(加上方法體)
6.子類必須全部覆蓋重寫抽象方法,這個子類才能創建對象,如果只實現部分,那么還有抽象方法,則類也就必須是抽象類
抽象方法作用:
1.抽象方法的作用就是規定了,子類必須有這個方法,功能交給子類
2.只寫出來結構,而沒有實現,實現交給具體的子類按自己的功能實現
抽象類的作用:
就是要求子類的結構,所以抽象類就是一個規范。
abstract class Person{
public $name;
public $age;
//抽象方法
abstract function say();
abstract function eat();
function run(){
echo "1111111
";
}
function sleep(){
echo "222222
";
}
}
class StudentCn extends Person{
function say(){
echo "我說中文
";
}
function eat(){
echo "我用筷子吃飯";
}
}
class StudentEn extends Person{
function say(){
echo "我說英語
";
}
function eat(){
echo "我用叉子
";
}
}
?>
如果只是個規范,用的著這么麻煩么,具體有什么意義呢?還看以后分享
接口
接口是一種特殊的抽象類
1.抽象類和接口都有抽象方法
2.抽象類和接口都不能創建實例對象
3.抽象類和接口的使用意義也就是作用相同
比較
1.接口中的方法,必須要全是抽象方法,所以在接口中的抽象方法不需要使用abstract,直接使用分號結束即可
2.接口中的成員屬性,必須是常量(不能有變量)
3.所有的權限必須是公有的(public)
4.聲明接口不使用class,而是使用interface
接口應用細節
1.可以使用extends讓一個接口繼承另一個接口(接口和接口---只有擴展新抽象方法,沒有覆蓋的關系)
2.可以使用一個類來實現接口中全部方法,也可以使用一個抽象類,來實現接口中的部分方法
3.就不要使用extends這個關鍵字,使用implements實現
implements相當于extends, extends繼承,這個在PHP中,一個類只能有一個父類
4.一個類可以在繼承另一個類的同時,使用implements實現一個接口,也可以實現多個接口(一定要先繼承,再實現接口)
5.實現多個接口,只需要使用逗號分開
interface Demo{
const Name = "妹子";
const Age = 10;
function test();
function test2();
}
echo Demo::Name;//訪問常量
interface Test extends Demo{
function test4();
}
class world {
function test5(){
}
}
interface Abc{
function test6();
}
class Hello extends World implements Test{
function test(){
}
function test2(){
}
function test3(){
}
function test4(){
}
function test5(){
}
function test6(){
}
}
總結
以上是生活随笔為你收集整理的php抽象方法db,PHP笔记之抽象方法抽象类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php seaslog安装,浅谈win1
- 下一篇: java and dsl_Groovy语