ホームページ  >  記事  >  バックエンド開発  >  Li Yanhui の PHP ビデオ チュートリアルの第 2 シーズンに推奨されるリソース

Li Yanhui の PHP ビデオ チュートリアルの第 2 シーズンに推奨されるリソース

黄舟
黄舟オリジナル
2017-08-30 16:42:452815ブラウズ

このビデオ「Li Yanhui PHP ビデオチュートリアル シーズン 2」は、「Li Yanhui PHP ビデオ チュートリアル シーズン 1」をベースに、PHP の学習を深め、オブジェクト指向の考え方、実践的な会員登録、CMS 管理システムの詳細な説明を紹介します。これらの知識の学習を通じて、皆さんの力が大幅に向上すると信じています

Li Yanhui の PHP ビデオ チュートリアルの第 2 シーズンに推奨されるリソース

コース再生アドレス: http://www.php.cn/course/398.html

先生講義スタイル:

先生の講義は鮮やかで、機知に富み、機知に富み、感動的です。鮮やかな比喩は最後の仕上げのようなもので、生徒に知恵への扉を開きます。適切に配置されたユーモアは、まろやかなワインを飲むように、人々に後味と郷愁を与え、哲学者の格言や文化への言及をもたらします。ナレーションの中に時々散りばめられ、人々に考えさせ、警告を与えます。

このビデオのより難しい点は、オブジェクト指向オブジェクトです。

カプセル化は、オブジェクト指向プログラミングの 3 つの主要な特徴の 1 つであり、オブジェクトのプロパティとサービスを独立した同一のものに結合することです。オブジェクトの内部詳細をできるだけ隠すことには 2 つの意味があります:

1. オブジェクトのすべてのプロパティとサービスを結合して、分割不可能な独立したユニット (つまり、オブジェクト) を形成します。

2. 情報の隠蔽、つまり、オブジェクトの内部の詳細を可能な限り隠し、外界との境界を形成し(または障壁を形成し)、外界と接続するための限られた外部インターフェイスのみを保持します。 。

ソフトウェアにおけるカプセル化の原理の反映は、オブジェクト以外の部分がオブジェクトの内部データ (プロパティ) に自由にアクセスできないことを要求し、これにより外部エラーの「相互感染」を効果的に回避し、ソフトウェアを有効にすることです。エラーが局所的に特定されるため、エラーの検出とトラブルシューティングの難しさが大幅に軽減されます。

例を使用して説明しましょう。ある人のオブジェクトに年齢や給与などの属性がある場合、カプセル化を使用しない場合、他の人がそのような個人のプライバシー属性を自由に取得できるようにする必要はありません。あなたはそれを知りたがりますが、それをカプセル化すると、あなたがそれを伝えない限り、他の人はカプセル化された属性を取得する方法がなくなります。

たとえば、すべてのパソコンにはパスワードがあり、他人が勝手にログインしたり、それをコピーして自分のコンピュータに貼り付けたりすることは望ましくありません。また、人間のような物体においては、身長や年齢といった属性は自分自身でのみ増加させることができ、他人等が恣意的に値を割り当てることはできない。

プライベート キーワードを使用してプロパティとメソッドをカプセル化します:

元のメンバー:

<?php  
var $name; //声明人的姓名  
var $sex; //声明人的性别  
var $age; //声明人的年龄  
function run(){……}

カプセル化された形式に変更:

<?php  
private $name; //把人的姓名使用private关键字进行封装  
private $sex; //把人的性别使用private关键字进行封装  
private $age; //把人的年龄使用private关键字进行封装  
private function run(){……} //把人的走路方法使用private关键字进行封装

アクセス制御は追加されません。デフォルトは public で、どこからでもアクセスできます。

<?php  
//这个人可以说话的方法, 说出自己的私有属性,在这里也可以访问私有方法  
function say() {  
    echo "我的名子叫:" . $this->name . " 性别:" . $this->sex . " 我的年龄是:" . $this->age;  
    //在这里也可以访问私有方法  
    //$this->run();  
}

メンバーメソッドsay()はpublicなので、上記のコードを変更します:

<?php  
class Person  
{  
    //下面是人的成员属性  
    private $name; //人的名子,被private封装上了  
    private $sex; //人的性别, 被private封装上了  
    private $age; //人的年龄, 被private封装上了  
  
    //定义一个构造方法参数为私有的属性姓名$name、性别$sex和年龄$age进行赋值  
    function __construct($name, $sex, $age) {  
        //通过构造方法传进来的$name给私有成员属性$this->name赋初使值  
        $this->name = $name;  
        //通过构造方法传进来的$sex给私有成员属性$this->sex赋初使值  
        $this->sex = $sex;  
        //通过构造方法传进来的$age给私有成员属性$this->age赋初使值  
        $this->age = $age;  
    }  
  
    //这个人可以说话的方法, 说出自己的私有属性,在这里也可以访问私有方法  
    function say() {  
        echo "我的名子叫:" . $this->name . " 性别:" . $this->sex . " 我的年龄是:" . $this->age;  
    }  
}  
  
//通过构造方法创建3个对象$p1、p2、$p3,分别传入三个不同的实参为姓名、性别和年龄  
$p1 = new Person("张三", "男", 20);  
$p2 = new Person("李四", "女", 30);  
$p3 = new Person("王五", "男", 40);  
  
//下面访问$p1对象中的说话方法  
$p1->say();  
//下面访问$p2对象中的说话方法  
$p2->say();  
//下面访问$p3对象中的说话方法  
$p3->say();  
?>

出力結果:

我的名子叫:张三 性别:男 我的年龄是:20我的名子叫:李四 性别:女 我的年龄是:30我的名子叫:王五 性别:男 我的年龄是:40

以上がLi Yanhui の PHP ビデオ チュートリアルの第 2 シーズンに推奨されるリソースの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。