PHP 구조기 클래스 인스턴스

2596 단어 PHP__constructor

구조기


반명은 처음부터 대문자일 거예요.
변량
구성원 변수(필드)
클래스 방법 외에 성명된 변수
로컬 변수
메서드에서 선언된 변수

PHP라면construct라는 방법으로 구조기가 됐어요.
    public function __construct($name) 
        $this->name = $name;
    }
구조기
    function __construct($n){
        $this->name = $n;
    }

같은 클래스의 속성이나 방법에 접근할 때this-> 속성 이름이나 방법 이름
$this->name = $name;

클래스 인스턴스


test21.php
<?php
// 継承
// 親クラス
class User {
    public $name;
    public $test = "テスト";
    public function __construct($name) {
        $this->name = $name;
    }
    // //final→override禁止
    // final public function sayHi() {
    public function sayHi() {
        echo "hi, i am $this->name!";
    }
}

// 子クラス
class AdminUser extends User {
    // プロパティをオーバーライド
    public $test = "Adminテスト";
    public function sayHello() {
        echo "hello from Admin!";
    }
    // override→子クラスで親クラスのメソッドを上書き。メソッドだけでなくプロパティも出来る
    public function sayHi() {
        echo "[admin]hi, i am $this->name!";
    }
}

$tom = new User ( "Tom" );
$bob = new AdminUser ( "Bob" );

$tom->sayHi ();
$bob->sayHi ();
$bob->sayHello ();
echo $tom->name;
echo $tom->test; // テスト
echo $bob->test; // Adminテスト
?>

좋은 웹페이지 즐겨찾기