클래스와 객체의 기초
원문출처 | http://tcpschool.com/php/php_class_basic |
---|
クラス(class)とオブジェクト(object)
オブジェクト(object)とは、実生活では、我々が認識することができるもので理解することができます。
これらのオブジェクトの状態(state)と行動(behavior)は、それぞれのプロパティ(property)とメソッド(method)に実装されます。
また、オブジェクト(object)を作り出すための枠組みや設計図のような概念がまさにクラス(class)です。
つまり、PHPでは、クラスを持っているオブジェクトを作成して使用します。
次の例では、Carクラスのオブジェクト(object)を示す例です。
クラス(class)
- 車(Car)
プロパティ(property)
- $car->modelName = "フェラーリNYIAS"
- $car->modelYear = 2012
- $car->color = "黄色"
- $car->maxSpeed = 206 mph
メソッド(method)
- $car->accelerate()
- $car->brake()
インスタンス(instance)
- 私の車(myCar)
自動車インスタンスは、すべて上記のようなプロパティとメソッドを持つでしょう。
しかし、各プロパティの値はインスタンスにすべて異なります。
オブジェクト指向プログラミング(OOP、Object-Oriented Programming)
オブジェクト指向プログラミングでは、すべてのデータをオブジェクト(object)として扱われ、オブジェクトがすぐにプログラミングの中心となります。
これにより、コードの管理が容易になり、より少ない労力でも簡単にコードを変更すると、維持管理することができます。
オブジェクト指向プログラミングが持つ特徴は次のとおりです。
- 抽象化(abstraction)
- カプセル化(encapsulation)
- 情報秘匿(data hiding)
- 継承性(inheritance)
- ポリモーフィズム(polymorphism)
カプセル化は、すでに作成されたコードを変更せずに再使用することを目的とします。
また、情報秘匿を介してオブジェクトの実際の実装内容を外部で知られないよう隠し、オブジェクトのインタフェースを介してのみデータにアクセスできるようにして、セキュリティを強化します。
継承は、クラス間の階層関係を作って、論理的かつ体系的に他のクラスの機能とデータを使用できるようになります。
また、ポリモーフィズムを介して一つの変数や関数の名前が、状況に応じて別の意味で解釈されることができるようになります。
카테고리 | 아니오 | 제목 | 날짜 | 조회 수 |
---|---|---|---|---|
팁 & 노하우 나눔 | 39 | 페이스북위젯 삽입하기 | 2018.12.15 | 47 |
클래스 | 38 | 클래스의 사용 | 2019.10.03 | 93 |
클래스 | 37 | 클래스의 구조 | 2019.10.03 | 35 |
클래스 | » | 클래스와 객체의 기초 | 2019.10.03 | 56 |
메일 서비스 | 35 | 메일 사용자 설명서 | 2019.03.29 | 61 |
팁 & 노하우 나눔 | 34 | 구글 캘린더 합치기 1 | 2018.12.12 | 427 |
EC-CUBE 3系 | 33 | 관리 화면의 사이드 메뉴에 항목 추가하는 방법 | 2019.11.11 | 165 |
EC-CUBE 4系 | 32 | 管理機能一覧 | 2020.11.12 | 30 |
EC-CUBE 3.x | 31 | 新規作成したページURLから「user_data」を消す方法とURLを出力するテンプレートタグ | 2019.04.10 | 863 |
EC-CUBE 2.x | 30 | 商品数や階層に関係なく全カテゴリーを表示させる方法 | 2019.04.10 | 260 |
EC-CUBE 2.x | 29 | 商品名などで長くなったテキストを省略する方法 | 2019.04.10 | 45 |
EC-CUBE 2.x | 28 | 商品ステータスを変更・追加する方法 | 2019.04.10 | 62 |
EC-CUBE 2系 | 27 | 単体テストガイドライン | 2019.09.28 | 86 |
EC-CUBE 2系 | 26 | リファクタリングガイドライン | 2019.09.28 | 153 |
EC-CUBE 4系 | 25 | フロント機能一覧 | 2020.11.12 | 33 |
EC-CUBE 3.x | 24 | デフォルトのtitleを任意のものに変更する方法 | 2019.04.10 | 228 |
EC-CUBE 2.x | 23 | サイトデザインをPCで統一させる方法 | 2019.04.10 | 52 |
EC-CUBE 2系 | 22 | イベントセット販売プラグインマニュアル | 2019.11.07 | 131 |
EC-CUBE 3.x | 21 | titleの並びや区切り記号を変更する方法 | 2019.04.10 | 96 |
메뉴얼 | 20 | THEVOS Youtube BOARD SKIN 사용 설명 | 2018.11.11 | 116 |
Facebook [ko]댓글