ホームページ php教程 PHP源码 虚函数实现php版

虚函数实现php版

May 25, 2016 pm 05:14 PM
仮想関数

虚函数,实现php

1. virtual-function.php 

<?php
class ParentClass {    
 
  static public function say( $str ) {    
    static::do_print( $str );    
  }    
 
  static public function do_print( $str ) {    
    echo "<p>Parent says $str</p>";    
  }    
 
}    
 
class ChildClass extends ParentClass {    
 
  static public function do_print( $str ) {    
    echo "<p>Child says $str</p>";    
  }    
 
}    
 
 
class AnotherChildClass extends ParentClass {    
 
  static public function do_print( $str ) {    
    echo "<p>AnotherChild says $str</p>";    
  }    
 
}    
 
echo phpversion();
 
$a=new ChildClass();
 
$a->say( &#39;Hello&#39; );  
$b=new AnotherChildClass();
 
$b->say( &#39;Hello&#39; );
ログイン後にコピー

 以上就是虚函数实现php版的内容,更多相关内容请关注PHP中文网(www.php.cn)!


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

C++ 関数のオーバーロードと仮想関数はどのように連携しますか? C++ 関数のオーバーロードと仮想関数はどのように連携しますか? Apr 26, 2024 am 10:09 AM

C++ での関数のオーバーロードを使用すると、異なるパラメーターを持つ同じ名前の関数の異なる実装を定義できます。また、仮想関数を使用すると、派生クラスで基本クラスの関数をオーバーライドしてポリモーフィズムを実現できます。関数のオーバーロードと仮想関数は連携して動作できます。基本クラスで仮想オーバーロード関数を設計することで、派生クラスは特定のパラメーターの組み合わせのバージョンのみをオーバーロードできるため、実際のケースでは異なる型の距離を計算するなど、より柔軟な多態性が提供されます。原点からの形。

C++ 関数のデバッグの詳細な説明: 仮想関数の問題をデバッグするには? C++ 関数のデバッグの詳細な説明: 仮想関数の問題をデバッグするには? May 02, 2024 pm 03:42 PM

仮想関数のデバッグ方法: ブレークポイントを設定してステップ実行し、assert() を使用して条件を確認し、デバッガー ツールを使用して動的型、関数スタックを確認し、仮想関数を再定義します。

C++ フレンド関数と仮想関数間の相互作用 C++ フレンド関数と仮想関数間の相互作用 Apr 16, 2024 pm 03:45 PM

C++ では、フレンド関数は仮想関数と対​​話するため、フレンド関数は仮想関数にアクセスし、派生クラスのフレンド関数を呼び出して基本クラスのプライベート メンバーにアクセスできます。この対話を使用して、継承階層に隠されたデータにアクセスしたり、多態性の動作を実装したりできます。

C++ で仮想関数を宣言して呼び出すにはどうすればよいですか? C++ で仮想関数を宣言して呼び出すにはどうすればよいですか? Apr 12, 2024 pm 04:03 PM

仮想関数は、派生クラスがその基本クラスのメンバー関数をオーバーライドできるようにするポリモーフィズム メカニズムです。 宣言: 関数名の前にキーワード virtual を追加します。呼び出し: 基本クラスのポインターまたは参照を使用して、コンパイラーは派生クラスの適切な実装に動的にバインドします。実際のケース: 基本クラス Shape とその派生クラス Rectangle および Circle を定義することにより、多態性における仮想関数の適用、面積の計算、形状の描画を示します。

C++仮想関数の秘密が明らかに C++仮想関数の秘密が明らかに Apr 19, 2024 am 09:18 AM

仮想関数は動的バインディングを使用して実行時に呼び出される関数を決定し、ポリモーフィズムを実現します。その利点にはスケーラビリティと再利用性が含まれますが、オーバーヘッドと複雑さも生じます。仮想関数は、さまざまなタイプのオブジェクトのメソッドを統一された方法で実装するためによく使用されます。

C++ における仮想関数と純粋仮想関数の応用スキル C++ における仮想関数と純粋仮想関数の応用スキル Aug 22, 2023 am 11:33 AM

C++ の仮想関数と純粋仮想関数は、オブジェクト指向プログラミングを使用する多くのプログラマーによって一般的に使用されるツールです。これらを正しく使用することを前提とすると、プログラムの柔軟性と保守性が大幅に向上します。この記事では、仮想関数と純粋仮想関数のアプリケーション スキルについて説明し、いくつかの実践的な開発経験を共有します。 1. 仮想関数 1. 仮想関数とは何ですか?仮想関数は、ポリモーフィズムを実装するために使用される手法であり、これにより、クラスのメンバー関数を実行時に動的に決定できます。基本クラスのポインターまたは参照を使用して仮想関数が呼び出される場合、プログラムは

C++ 関数は仮想宣言できますか?仮想関数の役割は何ですか? C++ 関数は仮想宣言できますか?仮想関数の役割は何ですか? Apr 19, 2024 pm 06:06 PM

C++ の仮想関数を使用すると、派生クラスが基本クラスから継承したメソッドを再定義してポリモーフィズムを実現できます。構文は次のとおりです。基本クラスで virtual キーワードを使用して仮想関数を宣言し、派生クラスでオーバーライドを使用してそれを再定義します。ポインターまたは参照を通じて仮想関数を呼び出すことにより、派生クラス オブジェクトは基本クラスの仮想関数を呼び出すことができます。仮想関数の主な機能には、ポリモーフィズムの実現、動的バインディングのサポート、および抽象化の提供が含まれます。

C++ 構文エラー: メンバー関数を仮想関数にすることはできません。どのように対処すればよいですか? C++ 構文エラー: メンバー関数を仮想関数にすることはできません。どのように対処すればよいですか? Aug 21, 2023 pm 09:03 PM

C++ はオブジェクト指向プログラミング言語であり、仮想関数は非常に重要な機能であり、サブクラスが基本クラス関数をオーバーライドしてポリモーフィズムを実現できるようになります。ただし、「エラー C3668: '関数': メンバー関数 (コンストラクターとデストラクターを除く) を仮想関数にすることはできません。」というエラー メッセージが表示されることがあります。このエラー メッセージは、C++ では、どのメンバー関数も仮想関数にできないことを意味します。 。では、この問題にどう対処すべきでしょうか?まず、このエラーが発生する理由を理解する必要があります

See all articles