PHP でのオブジェクト指向の実践 - 基本的な実践ケース

易达
リリース: 2023-04-08 17:00:02
オリジナル
2018 人が閲覧しました

PHP におけるオブジェクト指向の実践 - 基本的な実践

(1) 基本的な実践

1. クラスの概念

PHP でのオブジェクト指向の実践 - 基本的な実践ケース

1. 共通点:

すべてが同じ属性を持つ

すべて同じメソッドがあります

2. 違い:

特定の値が異なります

#3. 要約: それらはすべてですクラスのオブジェクト

クラスと言えば、クラスの概念について話しましょう

1) クラス定義

-物は集まり、人は分かれると言います。類似した特性を持つオブジェクトをクラスに分類する

したがって、オブジェクトを観察するときに、そのプロパティとメソッドを比較してみてください。それらのプロパティとメソッドが非常に似ている場合は、それらを 1 つのクラスに分類することができます。

- このクラスは、これらの同様のオブジェクトが同じプロパティとメソッドを持つことを定義します。

例: NBA プレーヤーはクラスの定義であり、NBA プレーヤーである限り、次のことを規定します。必須項目: 年齢、名前、身長、体重、チーム、プレーヤー番号

そうすれば、同じスキルも持つことになります:

PHP でのオブジェクト指向の実践 - 基本的な実践ケース

しかし問題は、このクラスに特定の高さは定義されていますか、特定の名前はありますか、特定の体重はありますか、どれもありませんが、これらの属性をすべて記述すると、特定の属性になりますか? オブジェクト

Thisクラスとオブジェクトの関係です。具体的には、クラスは類似したオブジェクトの説明です。これはクラスの定義と呼ばれます。クラスは、これらすべての類似したオブジェクトの設計図またはプロトタイプです。

たとえば、次のようになります。 James のオブジェクトはどこから来ましたか? このクラスの属性値を設定するだけです。

クラスのオブジェクトは、クラスの

instance(Instance)<strong></strong> です。これこの操作は、クラスのインスタンス化とも呼ばれます。#たとえば、ジェームズ、ジョーダン、コービーはすべて、NBA プレーヤー クラスのインスタンスです。これらをインスタンス化するプロセスは、クラスのインスタンス化と呼ばれます。

クラスの場合は、それは単なる空の棚であるという理解です。オブジェクトがどのように分割されるかを定義するだけです。オブジェクトについては、定義されます。特定の値については、すべての属性値を詳細に記述する必要があります。

補足概念: クラスのオブジェクトとメソッドを総称してクラス メンバーと呼びます

#2. インスタンス化の概念

1) クラスのインスタンス化の定義

は、クラスを通じて特定のオブジェクトを作成することです。このプロセスはクラスのインスタンス化であり、この空の棚を埋めることに相当します。例: たとえば、NBA プレーヤー クラスを通じて、ジェームズとコービー ブライアント、ジョーダンを作成しました。このうち、NBA プレーヤー クラスは 3 回インスタンス化されました

要約: 存在するのは 1 つだけですクラスですが、複数回インスタンス化して複数の特定のオブジェクトを取得することができます。

PHP でのオブジェクト指向の実践 - 基本的な実践ケースヒント: 実装方法については、後のコードで説明します

2) クラスのインスタンス化

2) 例: Jordan を例にします

左側はデータのないクラス、右側は Jordan です。したがって、インスタンス化する方法は次のとおりです。これらの名前、身長、体重、チーム、選手を直接追加するには、数値の値を具体的に入力すると、Jordan オブジェクトがインスタンス化されます。

PHP でのオブジェクト指向の実践 - 基本的な実践ケースヒント: インスタンス化は、作成することと理解できます。クラスを実際の例に変換

##3. 特定のケース

1) ケーススタディの目的

##1. クラスの定義方法2. クラスをインスタンス化する方法

3. クラスのプロパティとメソッドを呼び出す方法

2) 詳細については、次のコードを参照してください

<?php
/***
 * 案例目标:
 *  1.类的定义
 *  2.类的实例化
 *  3.属性的赋值
 *  4.方法的调用
 *  
 */
/***定义一个类,类的名字叫NbaPlayer(中文=NBA球员)
 * 提示:
 *  1.定义类的过程:我们首先以class开始,然后写上类 名称:NbaPlayer,最后要写上一对{}
 *  2.类的名字通常首字母要大写
 *  3
 * 
***/
class NbaPlayer{
    //定义属性
    public $name = "";
    public $height = "";
    public $weight = "";
    public $team = "";
    public $playerName = "";
    //定义方法
    //定义跑的方法
    //提示:
      //方法定义的过程:
        //1.写上方法的类型,public,表示公共的方法,可以被外部直接调用
        //2.写上function
        //3.定义方法的名称,然后写上一对(),最后{}结尾     
    //总结:
        //方法定义和之前js中函数的定义是一样的,只是类中的方法多了一个public
    public function run(){
        //里面的代码我们称之为业务逻辑
        echo "跑步<br/>";
    }
    //定义跳跃方法
    public function jump(){
        echo "跳跃<br/>";
    }
    //定义运球方法
    public function dribble(){
        echo "运球<br/>";
    }
    //定义投篮的方法
    public function shoot(){
        echo "投篮<br/>";
    }
    //定义扣篮方法
    public function dunk(){
        echo "扣篮<br/>";
    }
    //定义传球
    public function pass(){
        echo "传球<br/>";
    }
} 
//类到对象的实例化
/*总结:
    1、类的实例化过程= 通过new 类名() 即可完成一个类的实例化过程
*/
//1.创建乔丹
$jordan = new NbaPlayer();//类的实例化
//类赋值
$jordan->name = "乔丹";
$jordan->height = "1.98米";
$jordan->weight = "98公斤";
$jordan->team = "公牛";
$jordan->playerName = "23";
//输出对象值
print_r("乔丹名称:".$jordan->name."<br/>");
print_r("乔丹身高:".$jordan->height."<br/>");
//总结:通过->可以调用对象里的属性
echo "<br/>";
//输出对象方法
$jordan->dribble();
$jordan->pass();
//总结:通过->符号可以调用对象的方法
?>
ログイン後にコピー

以上がPHP でのオブジェクト指向の実践 - 基本的な実践ケースの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート