ホームページ >バックエンド開発 >PHPチュートリアル >PHP インターフェースを学ぶ_PHP チュートリアル

PHP インターフェースを学ぶ_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:33:561047ブラウズ

最近、php (現​​在の主流の開発言語として) 5 インターフェースを学習しているときに困難に遭遇しました。本には多重継承を実装する方法と書かれていますが、実装方法がまだわかりません。インターネットで PHP(現在主流の開発言語)のインターフェース情報を調べてみると、情報がほとんどなかったので、Java についても調べてみました。 「Java をわかりやすくする (インターフェイスと継承)」の記事を読んで、私が最初から誤解していたことに気づきました。いわゆる多重継承とは、クラスがインターフェイスを継承するのではなく、クラスを継承するインターフェイスを指します。
記事の中でOOの抽象化について触れられていましたが、「抽象化とはイメージの部分を取り除くことです」という一文がとても鮮やかで、抽象化ってわかりにくいと思っていましたが、抽象化ですね、笑。これはまさにインターフェイスと抽象クラスが行うことです。
この記事には、私にとっても非常に有益な視点がたくさんあり、以下にリストします:
OO の本質は、オブジェクトの抽象化だと思います。
インターフェースの役割は、一言で言えば、クラスのタイプをマークすることです。異なるタイプのクラスを異なるインターフェイスに割り当てると、クラスをより適切に管理できます。
継承の意味もコードの再利用ではなく抽象化にあります。
この記事を読んだ後、インターフェイス、抽象クラス、継承の適用方法を基本的に理解しました。

原文は次のとおりです:
Java の明確化 (インターフェイスと継承) コンピューターサイエンス学部の大学院生 2 年生である私の兄が私と会ったとき、いくつかの質問はすべてインターフェイスに関するものでした。インターフェースの使用?なぜインターフェースを使用するのでしょうか?インターフェイスをいつ使用する必要がありますか? Java を使用して SQL サーバー(WINDOWS プラットフォーム上の強力なデータベース プラットフォーム) に接続する方法や、J2EE アプリケーションを開発する方法について質問されなかったのは幸いです。そのような質問は致命的ですので、避けてください。今年、コンピュータサイエンス学部には J2ME に関する卒業プロジェクトがあります。このテーマを選択した学生たちは、5 月末の時点でまだ java.util.* パッケージを勉強していました。

ほとんどの人は、インターフェイスの目的は多重継承を置き換えることであると考えています。ご存知のとおり、Java には C++ のような多重継承メカニズムはありませんが、複数のインターフェイスを実装できます。実際、これは突飛です。インターフェイスと継承はまったく別のものです。インターフェイスには多重継承を置き換える機能はなく、そのような義務もありません。インターフェースの機能は、一言で言えば、クラスのタイプをマークすることです。異なるタイプのクラスを異なるインターフェイスに割り当てると、クラスをより適切に管理できます。 OO の本質はオブジェクトの抽象化であり、インターフェイスがこれを最もよく体現していると思います。なぜ抽象機能を持つ言語 (C++、Java、C# など) のデザイン パターンについてのみ説明するかというと、デザイン パターンが研究するのは実際に合理的に抽象化する方法だからです。 (カウボーイの有名な言葉に「抽象化とはイメージの部分を取り除くことだ」というものがあります。これは冗談のようですが、実際は本当です)。

最も基本的なデザイン パターンは、最近作成した非常に単純なアプリケーションで、複数のデータベース間でプログラムを移植できるように最善を尽くしたいと考えていました。もちろん、これにはさまざまな問題が伴います。 DBMS は頭の痛い問題です。まず問題を単純化し、異なるデータベースを接続する方法のみを検討することもできます。

MySQL(PHPとの最良の組み合わせ).java、SQLServer.java、Oracle(大規模Webサイトデータベースプラットフォーム).java、DB2.javaという多くのクラスがあるとします。それらは異なるものに接続されていますデータベースは均一に返しますConnection オブジェクトであり、すべてに接続を閉じるための close メソッドがあります。 DBMS に異なるクラスを選択するだけで、それを使用できるようになります。しかし、ユーザーはどのデータベースを使用するのでしょうか?わかりませんが、私が望んでいるのは、彼のニーズを満たすためにコードの変更をできるだけ少なくすることです。次のインターフェイスを抽象化できます:
package org.bromon.test;
public Interface DB
{
java.sql.Connection openDB(String url,String user,String password);
void close();
}

このインターフェースは意味のあるコードを持たずに 2 つのメソッドのみを定義しています。具体的なコードは、MySQL など、このインターフェースを実装するクラスによって与えられます(PHP との組み合わせが最適です).java:

Package org.bromon.test;
import java.sql.*;
public class MySQL(PHPとの最良の組み合わせ)implements DB
{
private String url="jdbc:MySQL(PHPとの最良の組み合わせ)最良の組み合わせ):localhost:3306/test”;
private String user=”root”;
private String passwd=””;
private Connection conn;
public Connection openDB(url,user,password)
{
/ /データベースに接続するコード
}

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/508534.html技術記事最近、PHP 5 インターフェイス (現在の主流の開発言語) を学習する過程で困難に遭遇しました。本には多重継承を実装する方法と書かれていましたが、実装方法がまだわかりません。 ...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。