---
# System prepended metadata

title: オブジェクト指向

---

# オブジェクト指向
オブジェクト指向自体は概念である。オブジェクト指向は大まかにクラス、カプセル化、継承の3つの考え方がある。

## クラス
クラスとは、オブジェクトを生成するための設計図あるいはひな形に相当するものを指す。<br>
pythonでクラスを「宣言」する際は以下の通りになる。
```
class クラス名:
```

## カプセル化
アクセスできるレベルを設定することをカプセル化という
以下にアクセス修飾子の一覧を示す

| public | private |
| -------- | -------- |
| すべてのクラス     | 自身のクラスのみ     |


## 継承
類似しているクラスがあれば、すでに存在しているクラスを引き継いで新たなクラスを生成すること
```
親クラス
class クラス名:

子クラス
class クラス名(継承したいクラス):
```

## インスタンス生成
クラスを作成したとしてもそれはまだ実体があるわけではない。そこで、インスタンスというものを生成する必要がある。下記に使用方法を説明する。またコンストラクタについては次の章で紹介する。
```
class クラス名:
    def __init__(self,引数1): 　#コンストラクタ
     #コンストラクタで行う処理
    def 関数名(self, 引数2):
    
変数名 = クラス名(引数1)　#インスタンス
```

## コンストラクタ
コンストラクタとはクラスが生成されたときに実行したい処理があるときに用いる。使用方法は下記の通りである。
```
class クラス名:
    def __init__(self,引数):
     #コンストラクタで行う処理　#コンストラクタ
```