ホームページ  >  記事  >  バックエンド開発  >  {{PHP}}PHP リネージ アクセス制御

{{PHP}}PHP リネージ アクセス制御

WBOY
WBOYオリジナル
2016-06-13 13:19:53797ブラウズ

{{PHP}}PHP 継承されたアクセス制御
{{PHP}}PHP 継承されたアクセス制御

継承について話すときは、アクセス制御について言及する必要があります。アクセス制御権限が異なると、継承の動作も異なります。メンバー メソッドを例に挙げると、private アクセス修飾子と protected アクセス修飾子を使用して、何を継承する必要があるかを制御できます。

private メンバーがプライベートとして指定されている場合、そのメンバーを継承することはできません。実際、このメソッドは PHP に継承されますが、アクセスすることはできません。
protected メンバーが protected として指定されている場合、そのメンバーはクラスの外部には表示されず、継承することができます。

PHP の例を見てください:

クラスベース {
プライベート関数 privateMethod() {
}
}

クラスの子はBaseを拡張します{
パブリック関数 publicMethod() {
}
}

$c = 新しい子();

if (method_exists($c, 'privateMethod')) {
エコー 1;
}その他{
エコー 0;
}

このコードは 1 を出力します。この時点で、PHP では継承中にプライベート メソッドを継承できることが証明できます。

参照: https://github.com/billfeller/tipi/blob/master/book/chapt05/05-04-class-inherit-abstract.markdown

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