クラス宣言、クラスインスタンス化オブジェクト、オブジェクト内のメンバーのアクセス、特殊オブジェクトの参照$this

10059 ワード

クラスの宣言
オブジェクト向けプログラムの単位はオブジェクトですが、オブジェクトはクラスによってインスタンス化されます.まず、クラスを宣言する方法を知っておく必要があります.

class person {
    var $name;//    
    var $age;
    var $sex;
    public function say(){//    
    }
    public function run(){
    }
}

クラスフォーマットの説明
1.クラスを宣言するにはキーワードclassを使用する必要があります.classキーワードの前に修飾子を付ける必要がある場合があります.例:public private protected static final.....2.クラス名は命名規則を守らなければならない.複数の単語が構成されている場合、各単語の頭文字が大文字になることに慣れている.3.クラスには、メンバー属性とメンバーメソッドが含まれます.変数を宣言するにはキーワードは必要ありませんが、クラスでメンバーのプロパティを宣言する場合は、変数の前に必ずキーワードを使用します.たとえば、public private protected static final.....これらのキーワード修飾子の変数には一定の意味があります.特定の意味の修飾が必要でない場合はvarキーワードを使用します.4.メンバーメソッドの宣言は、関数宣言と同じですが、修飾子を追加することができます.例:public private protected static final.....
クラスインスタンスオブジェクト
クラスをインスタンス化し、newキーを使用してクラス名と同じ名前のメソッドを追加します.オブジェクトをインスタンス化する際にオブジェクトにパラメータを渡す必要がない場合は、newキーワードの後にクラス名を付ける.
$   =new    (    );
$   =new
 
class Phone{
    var $Menu;
    var $color;
    var $batty;
    var $screen_size;
    function call(){
        echo '    ';
    }
    function message(){
        echo '     ';
    }
    function Playmusic(){
        echo '     ';
    }
    function photo(){
        echo '    ';
    }
}
class Person(){
    var $name;
    var $sex;
    var $age;
    function say(){
        echo '    ';
    }
    function run(){
        echo '    ';
    }
}

 $person=new Person();
 $person1=new Person();
 $phone=new Phone();

1つのクラスは、複数のオブジェクトをインスタンス化することができ、各オブジェクトは独立しています.同じクラスで宣言された複数のオブジェクト間には連絡がありません.同じタイプであり、各オブジェクトの内部にクラスで宣言されたメンバー属性とメンバーメソッドがあることを示すしかありません.
オブジェクト内のメンバーへのアクセス
オブジェクトにはメンバー属性とメンバーメソッドが含まれ、アクセスオブジェクトのメンバーにはメンバー属性とメンバーメソッドのアクセスが含まれます.
$   =new    ([    ]);

$   ->    = ;//      

$   ->    ;//      

$   ->    ;//      
 
header('content-type:text/html;charset=utf-8');
class Person{
    var $name;
    var $sex;
    var $age;
    function say(){
        echo '      
'
; } function run(){ echo '
'
; } } $person1=new Person(); $person1->name=' '; $person1->sex=' '; $person1->age=20; echo " person1 :".$person1->name."
"
; echo " person1 :".$person1->sex."
"
; echo " person1 :".$person1->age."
"
; $person1->say(); $person1->run(); // person1 : person1 : person1 :20

オブジェクト内のメンバーであれば、「$オブジェクト参照名->属性名」または「$オブジェクト参照名->メソッド」の形式でアクセスします.オブジェクト内のメンバーが静的でない場合、これは唯一のアクセス形式です.
特殊オブジェクトの参照$this
アクセス・オブジェクトのメンバーは、オブジェクトの参照によって完了する必要があることを知っています.オブジェクトの内部で、オブジェクトのメンバー・メソッドで自分のオブジェクトのメンバー・プロパティにアクセスしたり、自分のオブジェクト内の他のメンバー・メソッドにアクセスしたりした場合、どうすればいいですか.これはオブジェクト参照が必要ですthis
オブジェクトが作成されると、オブジェクト内の各メンバーメソッドには、オブジェクト内のメンバー間のアクセスを完了するために使用される特別なオブジェクト参照「$this」メンバーメソッドがどのオブジェクトに属するかが存在します.
 
header('content-type:text/html;charset=utf-8');
class Person{
    var $name;
    var $sex;
    var $age;
    function say(){
        echo "    ".$this->name."  :".$this->sex."  :".$this->age."
"
; } function run(){ echo $this->name.'
'
; } } $person1=new Person(); $person2=new Person(); $person3=new Person(); $person1->name=' '; $person1->sex=' '; $person1->age=20; $person1->say(); $person1->run(); // : :20