この記事の目的:
1. 継承の定義を理解する
2. 継承の利点をマスターする
(1).定義
上の図を注意深く見て、共通点を見つけるために 1 つのことを行ってみましょう。
共通点:
1. それらはすべて同じ属性とメソッドをいくつか持っています
2. それらはすべて人間です
通常のクラスの定義に従います。上記 2 つのクラスを実装するには、NBA プレーヤー クラスのすべての属性とメソッドを個別に定義する必要があり、女性アンカー クラスを定義する場合は、名前、身長、体重、食事方法などの属性を繰り返し記述する必要があります。 Student と呼ばれる別のクラスがある場合、これらの共通の属性と共通のメソッドを再度記述する必要があることを意味します。コードは多くの場所で類似しており、コードの冗長性が増加します。この冗長性により、コードをより簡潔にして再利用可能にするために、これらの共通の属性とメソッドをまとめて記述し、各クラスでこの共通の属性とメソッドを呼び出すことができます。簡潔ですか? それでは、このアプローチを継承と呼びます。
具体的には、以下に示すように方法を実行します。
まず、「person」クラスを作成します。どちらも両方のクラスに共通の属性とメソッドを持ち、NBA プレーヤーと女性アンカーの両方に「person」クラスを継承させます。
コンセプト: 継承されるのはクラスは親クラス (people など) と呼ばれ、継承されたクラスはサブクラスと呼ばれます
概要: 継承とは何ですか? 継承は、コードの再利用性を向上させ、コードの再利用性を向上させ、コードの冗長性は現実世界の遺伝と同じです。子供は親の遺伝子の一部を受け継ぐため、生まれたときには人間と共通の属性と行動を持つことになります
(2) 継承の利点
1. コードの再利用性を向上させ、プログラミングの時間とコストを節約します
親クラスで定義されたプロパティとメソッドにはサブクラスが必要ありませんクラス内で定義が繰り返される場合、サブクラスが親クラスを継承している限り、そのサブクラスは親クラスのすべてのプロパティとメソッドを持ちます
2。同じ親クラスの下にあるすべてのサブクラスは同等に扱うことができます。呼び出すとき
たとえば、NBA選手であっても、女性アンカーであっても、彼らは人間であるため、呼び出すときは、食事などの親クラスのメソッドを直接呼び出すことができます。クラスが NBA プレーヤーか女性アンカーかに関係なく
3. サブクラスは、親クラス
##a によって定義されたクラス メンバーを変更および調整できます。これを Overwrite# と呼びます。 ##b. サブクラスを変更したら、サブクラスで定義されたメソッドに従って実行します
これは突然変異に相当します
何かを学ぶには、理論を知るだけでなく、関連する理論的実践を持っています。実際、すべての理論は実践から得られます。はい、私は時々、理論は非常に抽象的ですが、誰もが一定の実務経験を積んだ後にそれを要約し、簡潔で簡単に要約する必要があることを繰り返し強調してきました。 「理論」を理解する習慣が身につくと、誰でも多くの知識をより深く理解できるようになり、同時に物事の本質が掴みやすくなり、問題を分析する力も身につくと思います。改善されること。
わかりました。理論と実践を組み合わせる必要があるので、次に、コードを介して実践的なデモンストレーションを実行し、コード内で継承がどのように実装されるかを確認します。
( 3)具体的なコード
<?php
/***
* 案例目标
* 1.掌握继承的定义
2.掌握继承的好处
*/
//定义一个“人”类
class Human{
public $name = "";//姓名
public $height = "";//身高
public $weight = "";//体重
public function eat($food){
echo $this->name."在吃".$food."<br/>";
}
}
//女主播
class Anchors extends Human{
public $name = "";
public $stageName = "";
public function __construct( $name,$stageName ){
$this->name = $name;
$this->stageName = $stageName;
}
public function singing(){
echo "我是女主播,我会唱歌<br/>";
}
//重写方法eat
public function eat($food){
echo "我是女主播,我是边唱歌边吃{$food}<br/>";
}
}
//Nba球员类
class NbaPlayer extends Human{
//因为父类已经有了,所以就不需要再写了,通过extends来实现
// public $name = "";//姓名
// public $height = "";//身高
// public $weight = "";//体重
public $team = "";//团队
public $playerName = "";//球员号码
public function __construct( $name,$height,$weight,$team,$playerName ){
$this->name = $name;
$this->height=$height;
$this->weight = $weight;
$this->team = $team;
$this->playName = $playerName;
echo "构造函数执行了,当前对象是{$this->name}<br/>";
}
//跑步
public function run(){
echo "跑步中<br/>";
}
//跳跃
public function jump(){
echo "跳跃<br/>";
}
//运球
public function dribble(){
echo "运球<br/>";
}
//传球
public function pass(){
echo "传球<br/>";
}
//投篮
public function shoot(){
echo "投篮<br/>";
}
//扣篮
public function dunk(){
echo "扣篮<br/>";
}
//重写方法eat ,只要名称和父类一样就是代表重写了不一定参数也要保持一样
public function eat($food){
echo "我是Nba球员,我是站着吃饭,边吃{$food}边看球赛<br/>";
}
}
//测试,NBA球员,没有直接定义name,身高,体重,现在输出一下看结果有没有
//创建乔丹对象
$jordon = new NbaPlayer("乔丹","1.98米","98公斤","公牛","23");
//输出乔丹对象
echo "名称= ".$jordon->name."<br/>";
//测试,NBA球员,没有直接定义eat方法,现在输出一下看结果有没有
echo $jordon->eat("苹果");
//证明第二个好处,只要是个人就可以调用它的eat方法
$linda = new Anchors("琳达","LD");
echo $linda->eat("苹果");
//测试第三个好处是否真实
//思路1.为女主播和NBA球员2个类分别重写eat方法
// 2.再次执行2个对象的eat方法
// 会发现一旦子类重写了父类的方法,那么就会调用子类自己的方法了,这里就大家自己写下,因为上面我已经调用了eat方法,一旦重写了,上面的结果会变
?>
上記のコードのデモンストレーションを通じて、次のことを要約します:
1. extends は継承を意味します。このキーワードを通じて、サブクラスは親クラスを継承できます。親クラスのすべての属性とメソッドを共有する
2. 継承されたコードのその他の特徴:
#● サブクラス コンストラクターでは、$this->gt;を介して直接アクセスすることもできます。
# PHP では、extends 後に継承できるクラスは 1 つだけであり、複数のクラスの継承には使用できません。そうでない場合は、エラーが報告されます。#概要:
この記事 実際、目標は 2 つだけです。継承の定義と利点を知ることです。最後に、コードを通じて継承の利点をより深く理解できると考えています。
以上がPHP におけるオブジェクト指向の継承の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

PHPはMySQLIおよびPDO拡張機能を使用して、データベース操作とサーバー側のロジック処理で対話し、セッション管理などの関数を介してサーバー側のロジックを処理します。 1)MySQLIまたはPDOを使用してデータベースに接続し、SQLクエリを実行します。 2)セッション管理およびその他の機能を通じて、HTTPリクエストとユーザーステータスを処理します。 3)トランザクションを使用して、データベース操作の原子性を確保します。 4)SQLインジェクションを防ぎ、例外処理とデバッグの閉鎖接続を使用します。 5)インデックスとキャッシュを通じてパフォーマンスを最適化し、読みやすいコードを書き、エラー処理を実行します。

PHPで前処理ステートメントとPDOを使用すると、SQL注入攻撃を効果的に防ぐことができます。 1)PDOを使用してデータベースに接続し、エラーモードを設定します。 2)準備方法を使用して前処理ステートメントを作成し、プレースホルダーを使用してデータを渡し、メソッドを実行します。 3)結果のクエリを処理し、コードのセキュリティとパフォーマンスを確保します。

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHPにより、インタラクティブなWebコンテンツを簡単に作成できます。 1)HTMLを埋め込んでコンテンツを動的に生成し、ユーザー入力またはデータベースデータに基づいてリアルタイムで表示します。 2)プロセスフォームの提出と動的出力を生成して、XSSを防ぐためにHTMLSPECIALCHARSを使用していることを確認します。 3)MySQLを使用してユーザー登録システムを作成し、Password_HashおよびPreprocessingステートメントを使用してセキュリティを強化します。これらの手法を習得すると、Web開発の効率が向上します。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

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

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、
