PHPのお勉強



抽象クラス@PHP

抽象クラスを作成します。
抽象クラスは、インターフェースに似ていますが、
処理を実装することができます。

クラスは、abstract修飾子で宣言します。
また、抽象メソッドもabstractで宣言し、処理を実装しません。

処理の実装に関しては、抽象クラスを継承したクラスで実装します。

抽象クラスは、インスタンスを生成することができません。
継承したクラスを元にインスタンスを作成して、利用します。


<?php

    //抽象クラス
    abstract class AbstractClass {

        protected $str;
        
        //抽象メソッド
        abstract public function setStr($str);
        abstract public function getStr();
        
        //メソッド
        public function setStr2($str) {
            $this->str = $str;
        }
    }
    
    //抽象クラスを継承
    class ExtendAbstractClass extends AbstractClass {

        //メソッドを実装
        public function setStr($str) {
            $this->str = $str;
        }
        public function getStr() {
            return $this->str;
        }
    }
    

    //インスタンス生成
    $obj = new ExtendAbstractClass();
    
    //継承クラスで実装したメソッド呼び出し
    $obj->setStr("AAA");
    print $obj->getStr();
    
    //抽象クラスで実装してあったメソッド呼び出し
    $obj->setStr2("BBB");
    print $obj->getStr();

?>




Copyright (C) PHPのお勉強. All Rights Reserved.