메뉴얼

클래스

클래스와 객체의 기초

by TheVOS posted Oct 03, 2019
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
Extra Form
원문출처 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)


自動車インスタンスは、すべて上記のようなプロパティとメソッドを持つでしょう。

しかし、各プロパティの値はインスタンスにすべて異なります。


プログラミングでインスタンス(instance)とは、メモリ上に作成されたオブジェクトを意味します。

オブジェクト指向プログラミング(OOP、Object-Oriented Programming)

オブジェクト指向プログラミングでは、すべてのデータをオブジェクト(object)として扱われ、オブジェクトがすぐにプログラミングの中心となります。

これにより、コードの管理が容易になり、より少ない労力でも簡単にコードを変更すると、維持管理することができます。


オブジェクト指向プログラミングが持つ特徴は次のとおりです。


  1. 抽象化(abstraction)
  2. カプセル化(encapsulation)
  3. 情報秘匿(data hiding)
  4. 継承性(inheritance)
  5. ポリモーフィズム(polymorphism)

カプセル化は、すでに作成されたコードを変更せずに再使用することを目的とします。

また、情報秘匿を介してオブジェクトの実際の実装内容を外部で知られないよう隠し、オブジェクトのインタフェースを介してのみデータにアクセスできるようにして、セキュリティを強化します。

継承は、クラス間の階層関係を作って、論理的かつ体系的に他のクラスの機能とデータを使用できるようになります。

また、ポリモーフィズムを介して一つの変数や関数の名前が、状況に応じて別の意味で解釈されることができるようになります。

Facebook [ko]댓글 

Atachment
첨부 '1087'

List of Articles
카테고리 아니오 제목 날짜 조회 수
클래스 19 클래스의 사용 2019.10.03 93
클래스 18 클래스의 구조 2019.10.03 35
클래스 » 클래스와 객체의 기초 file 2019.10.03 56
EC-CUBE 2.x 16 EC-CUBE:SC_FormParamクラスによるパラメーターチェック方法 2019.10.03 119
EC-CUBE 운용 설명서 15 EC-CUBE2.12 運用マニュアル file 2019.09.29 62
EC-CUBE 2系 14 単体テストガイドライン 2019.09.28 86
EC-CUBE 2系 13 リファクタリングガイドライン 2019.09.28 153
EC-CUBE 2系 12 EC-CUBE標準規約 2019.09.28 154
EC-CUBE 3.x 11 デフォルトのtitleを任意のものに変更する方法 file 2019.04.10 227
EC-CUBE 3.x 10 titleの並びや区切り記号を変更する方法 file 2019.04.10 96
EC-CUBE 2.x 9 商品数や階層に関係なく全カテゴリーを表示させる方法 file 2019.04.10 260
EC-CUBE 2.x 8 商品名などで長くなったテキストを省略する方法 file 2019.04.10 45
EC-CUBE 2.x 7 サイトデザインをPCで統一させる方法 file 2019.04.10 52
EC-CUBE 2.x 6 商品ステータスを変更・追加する方法 file 2019.04.10 62
EC-CUBE 3.x 5 新規作成したページURLから「user_data」を消す方法とURLを出力するテンプレートタグ file 2019.04.10 863
메일 서비스 4 메일 사용자 설명서 2019.03.29 61
팁 & 노하우 나눔 3 페이스북위젯 삽입하기 file 2018.12.15 45
팁 & 노하우 나눔 2 구글 캘린더 합치기 1 file 2018.12.12 427
메뉴얼 1 THEVOS Youtube BOARD SKIN 사용 설명 2018.11.11 116
Board Pagination Prev 1 2 Next
/ 2