PHP_PHP チュートリアルにおける抽象クラスとインターフェイスの概念と違いの簡単な分析
//抽象クラスの定義:
abstract class ku{ //抽象クラスを定義します
抽象関数 kx();
...
}
function aa extends ku{
//抽象クラス
関数を実装するメソッド kx(){
echo 'sdsf';
}
}
//使用方法
$aa=new aa;
$aa->kx();
//1. いくつかのメソッドを定義し、サブクラスはこの抽象化のすべてのメソッドを完全に実装する必要があります
//2. 抽象クラスからオブジェクトを作成することはできません。その意味は拡張されます
//3. 抽象クラスには抽象メソッドが含まれます。メソッド
//4 には中括弧がありません。抽象メソッドは特定の関数を実装する必要がなく、サブクラス
//5 によって完成されます。サブクラスが抽象クラスのメソッドを実装する場合、サブクラスの可視性はさらに高くなければなりません。抽象メソッドの定義と同じか、定義
//6。抽象クラスのメソッドはパラメータを持つことも、空にすることもできます
//7。抽象メソッドにパラメータがある場合、サブクラスの実装にも同じパラメータが必要です。パラメータの数
/////// ///////////////////////インターフェースクラスの定義:
interface Shop{
public function buy( $gid);
public function sell($gid);
abstract function view($gid);
}
// インターフェイスを使用する場合は、インターフェイス クラスでメソッドを定義する必要があります (abstract を除く)。
//このように、他の人が大規模なプロジェクトで次のメソッドをどのように実行しても、このインターフェースのすべてのメソッドを実装する必要があります。
//例: 上記のインターフェースを実装する 1 つの方法
class BaseShopimplements Shop {L Public Function Buy ($ gid) {
Echo 'ID を購入しました:' . $gid ';
}
public function view($gid){
. ID:' の製品を参照しました。 例:
interfacestaff_i1{ //インターフェイス 1
function setID();
function getID();
}
interface Staff_i2{ //インターフェイス 2
function setName();
function getName();
}
クラスの Staff は、staff_i1,staff_i2{
private $id;
private $name;
function setID($id){
$this->id = $id; を実装します。
}
function getID(){
return $this ->id;
}
function setName($name){
$this->name = $name;
}
function getName(){
return $this ->name;
}
function otherFunc() { //これはインターフェースに存在しないメソッドです
echo “Test”;
}
}
?>
それらの違い:
1.抽象クラスは非抽象メソッドを持つことができますが、インターフェイスは抽象メソッドのみを持つことができます。
3.インターフェースはimplementsキーワードで使用し、抽象クラスはextendsキーワードを継承して使用します。
http://www.bkjia.com/PHPjc/327877.html
www.bkjia.com
true

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

マルチスレッドと非同期の違いは、マルチスレッドが複数のスレッドを同時に実行し、現在のスレッドをブロックせずに非同期に操作を実行することです。マルチスレッドは計算集約型タスクに使用されますが、非同期はユーザーインタラクションに使用されます。マルチスレッドの利点は、コンピューティングのパフォーマンスを改善することですが、非同期の利点はUIスレッドをブロックしないことです。マルチスレッドまたは非同期を選択することは、タスクの性質に依存します。計算集約型タスクマルチスレッド、外部リソースと相互作用し、UIの応答性を非同期に使用する必要があるタスクを使用します。

C言語では、charとwchar_tの主な違いは文字エンコードです。CharはASCIIを使用するか、ASCIIを拡張し、WCHAR_TはUnicodeを使用します。 Charは1〜2バイトを占め、WCHAR_Tは2〜4バイトを占有します。 charは英語のテキストに適しており、wchar_tは多言語テキストに適しています。 CHARは広くサポートされており、WCHAR_TはコンパイラとオペレーティングシステムがUnicodeをサポートするかどうかに依存します。 CHARの文字範囲は限られており、WCHAR_Tの文字範囲が大きく、特別な機能が算術演算に使用されます。

C言語に組み込みの合計機能はないため、自分で書く必要があります。合計は、配列を通過して要素を蓄積することで達成できます。ループバージョン:合計は、ループとアレイの長さを使用して計算されます。ポインターバージョン:ポインターを使用してアレイ要素を指し示し、効率的な合計が自己概要ポインターを通じて達成されます。アレイバージョンを動的に割り当てます:[アレイ]を動的に割り当ててメモリを自分で管理し、メモリの漏れを防ぐために割り当てられたメモリが解放されます。

C言語関数は、コードモジュール化とプログラム構築の基礎です。それらは、宣言(関数ヘッダー)と定義(関数体)で構成されています。 C言語は値を使用してパラメーターをデフォルトで渡しますが、外部変数はアドレスパスを使用して変更することもできます。関数は返品値を持つか、または持たない場合があり、返品値のタイプは宣言と一致する必要があります。機能の命名は、ラクダを使用するか、命名法を強調して、明確で理解しやすい必要があります。単一の責任の原則に従い、機能をシンプルに保ち、メンテナビリティと読みやすさを向上させます。

PHP8では、一致式は、式の値に基づいて異なる結果を返す新しい制御構造です。 1)Switchステートメントに似ていますが、実行ステートメントブロックの代わりに値を返します。 2)一致式の式は厳密に比較され、セキュリティが向上します。 3)スイッチステートメントの脱落の可能性を回避し、コードのシンプルさと読みやすさを向上させます。

JavaScriptのDOMノードの下でのXpath検索方法の詳細な説明、XPath式に基づいてDOMツリーから特定のノードを見つける必要があることがよくあります。あなたがする必要があるなら...

CとC#には類似点がありますが、それらは完全に異なります。Cはプロセス指向の手動メモリ管理、およびシステムプログラミングに使用されるプラットフォーム依存言語です。 C#は、デスクトップ、Webアプリケーション、ゲーム開発に使用されるオブジェクト指向のガベージコレクション、およびプラットフォーム非依存言語です。
