ホームページ バックエンド開発 PHPチュートリアル PHP中抽象类、接口的区别与选择分析_php技巧

PHP中抽象类、接口的区别与选择分析_php技巧

May 16, 2016 pm 07:55 PM
php 違い 抽象クラス インターフェース 選ぶ

本文实例分析了PHP中抽象类、接口的区别与选择。分享给大家供大家参考,具体如下:

区别:

1、对接口的使用是通过关键字implements。对抽象类的使用是通过关键字extends。当然接口也可以通过关键字extends继承。

2、接口中不可以声明成员变量(包括类静态变量),但是可以声明类常量。抽象类中可以声明各种类型成员变量,实现数据的封装。(另JAVA接口中的成员变量都要声明为public static final类型)

<&#63;php
abstract class Father {
  function meth1() {
    echo "meth1...<br>";
  }
  abstract function meth2();
  public $var1="var1";
  public static $var2="var2";
  const Var3="Var3";
}
class Son extends Father {
  function meth2() {
    echo "meth2 of Son...<br>";
  }
}
$s=new Son();
echo $s->var1."<br>";
echo Father::$var2."<br>";
echo Father::Var3."<br>";
Interface IFather {
  //public $iVar1="iVar1"; 此处接口定义中不能包含成员变量
  //public static $iVar2="iVar2"; 此处接口定义中不能包含静态变量
  const iVar3="iVar3";
  function iMeth1();
}
Class ISon implements IFather {
  function iMeth1() {
    echo "iMeth1...<br>";
  }
}
$is=new ISon();
echo IFather::iVar3;
&#63;>

ログイン後にコピー

3、接口没有构造函数,抽象类可以有构造函数。

4、接口中的方法默认都是public类型的,而抽象类中的方法可以使用private,protected,public来修饰。

5、一个类可以同时实现多个接口,但一个类只能继承于一个抽象类。

抽象类还是接口

1. 如果要创建一个模型,这个模型将由一些紧密相关的对象采用,就可以使用抽象类。如果要创建将由一些不相关对象采用的功能,就使用接口。

2. 如果必须从多个来源继承行为,就使用接口。

3. 如果知道所有类都会共享一个公共的行为实现,就使用抽象类,并在其中实现该行为。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

韓国のビットコインと国内のビットコインに違いはありますか? 韓国のビットコインと国内のビットコインに違いはありますか? Mar 05, 2025 pm 06:51 PM

ビットコインの投資ブームは、世界初の分散型デジタル資産であるため、増加し続けています。中国はかつてビットコインの最大の市場でしたが、政策の影響は取引制限につながりました。今日、韓国は世界の主要なビットコイン市場の1つになっており、投資家はITとその国内ビットコインの違いに疑問を投げかけています。この記事では、両国のビットコイン市場間の違いに関する詳細な分析を行います。韓国と中国のビットコイン市場の違いの分析。たとえば、2024年10月下旬、韓国のビットコインの価格はかつてでした

Nexo Exchangeは安全ですか? Nexo Exchangeは安全ですか? Mar 05, 2025 pm 07:39 PM

Nexo:それは暗号通貨交換であるだけでなく、デジタルファイナンシャルマネージャーでもあります。これにより、ユーザーは担保として暗号通貨でローンを取得することができ、関心を得るためのサービスを提供します。 Nexoは暗号通貨の購入、販売、償還機能も提供していますが、その中心的なビジネスは暗号融資です。この記事では、投資家により包括的な理解を提供するために、Nexoの運用モデルとセキュリティを詳細に調査します。 Nexoのオペレーティングモデルは2018年に設立され、スイスのZugに本社を置き、デジタルファイナンスの分野の先駆者です。これは、他の集中交換とは異なり、包括的な金融サービスの提供に重点を置いています。ユーザーは、資産を販売せずに暗号通貨を売買、取引することができます

エーテルとビットコインの違いは、エーテルとビットコインの違いは何ですか エーテルとビットコインの違いは、エーテルとビットコインの違いは何ですか Mar 19, 2025 pm 04:54 PM

イーサリアムとビットコインの違いは重要です。技術的には、BitcoinはPowを使用し、EtherはPowからPOSに移行しました。ビットコインの取引速度は遅く、イーサリアムは高速です。アプリケーションシナリオでは、Bitcoinは支払いストレージに焦点を当て、EtherはスマートコントラクトとDAPPをサポートしています。発行に関しては、ビットコインの総量は2100万人であり、エーテルコインの総額は固定されていません。各セキュリティチャレンジが利用可能です。市場価値に関しては、ビットコインが最初にランク付けされ、両方の価格の変動は大きいですが、特性が異なるため、イーサリアムの価格動向はユニークです。

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

Bean BreadとDeepseekの違いは何ですか Bean BreadとDeepseekの違いは何ですか Mar 12, 2025 pm 01:24 PM

Bean BunとDeepseekのコアの違いは、検索の精度と複雑さです。 1. Doubaoは、シンプルで直接的なキーワードのマッチングに基づいていますが、低コストですが、精度が低く、構造化されたデータにのみ適しています。深い学習に基づいています。最終的な選択は、アプリケーションのシナリオとリソースの制限に依存します。

暗号投資のメンタリティは非常に重要です!不必要な心配を避け、正しい決定を下す方法は? 暗号投資のメンタリティは非常に重要です!不必要な心配を避け、正しい決定を下す方法は? Mar 05, 2025 pm 07:24 PM

暗号投資の恐怖、不確実性、疑い:情報に基づいた意思決定を行う方法は?多くの暗号投資家は、「これは最後のサイクル」に対する恐怖と、強気市場の期間に関する懸念に直面しており、他の人からの圧力と相まって、それが一緒になって投資の決定につながります。この記事では、これらの課題を克服し、より賢い投資の選択をする方法を模索します。潜在的なリスク:気晴らし:盲目的にホットスポットを追いかけ、コア資産の価値を無視します。悲観主義とためらい:不確実性は、自信の欠如、長い間保持できないこと、さらには市場から退場することにつながります。信念の欠如:プロジェクトに関する詳細な研究の欠如であり、市場のボラティリティに対処できません。利益作成戦略の欠如:プルバックの恐怖、潜在的なリターンの欠落のために、ポジションを早期にクリアする。対処戦略:1。コア領域に焦点を当てる:

Ouyi Okexの開幕時間と閉鎖時間の詳細な紹介 Ouyi Okexの開幕時間と閉鎖時間の詳細な紹介 Mar 18, 2025 pm 01:06 PM

OUYI OKEXデジタル資産取引プラットフォームは、従来の証券市場とは異なり、ユーザーはいつでもFIAT通貨取引、通貨取引、契約取引を行うことができます。 ただし、プラットフォームは、システムメンテナンスのアップグレードや特別な市場イベント(深刻な市場の変動を引き起こす極端な市場条件など)の場合、取引の停止や契約取引の開始規則の変更など、取引時間またはルールを事前に発表し、一時的に調整します。したがって、ユーザーはプラットフォームの発表と市場動向に細心の注意を払い、取引の機会をつかみ、リスク管理において良い仕事をすることをお勧めします。 OUYI OKEXの取引時間とルールの調整を理解することによってのみ、デジタル通貨市場で簡単にすることができます。

Binance Smart Arbitrageとは何ですか? Binance Smart Arbitrage初心者の使用手順 Binance Smart Arbitrageとは何ですか? Binance Smart Arbitrage初心者の使用手順 Mar 05, 2025 pm 06:42 PM

Binance Smart Arbitrage:USDT Binance Smart Arbitrageの米国の受動的収入を緩和するためのガイドは、ビナンスプラットフォームを使用して、比較的低リスク環境で資本金利のリターンを獲得するのに役立つ自動録画ツールです。この記事では、その運用原則を詳細に説明し、初心者へのガイドを提供します。 1. Binance Smart Arbitrageとは何ですか? Binance Smart Arbitrageは、Binanceの「Advanced Currency Reatning」製品に属し、先物を自動的に実装し、裁定戦略をスポットします。ユーザーは通貨を選択してUSDTに投資するだけで、システムはスポット市場で自動的に購入し、ヘッジ価格リスクに合わせて永久契約市場で同等の資産を販売し、最終収益は資本料金から得られます。 2。先物の詳細な説明と、アービトラージの原則とSpot Arbitrageは、スポット市場と永続的な契約市場で同時に反対の運用を実行するアービトラージ戦略を指します。例

See all articles