python

【python】クラス

クラスとは??

クラスとは、オブジェクト思考で用いられる重要な概念です。詳しくは以下をご覧ください

【入門】オブジェクト指向のメリットオブジェクト指向の特徴 特徴:オブジェクト指向言語=プログラム作成する時に物(オブジェクト)として考えてプログラミングをする言語のこと...
【入門】クラスの基本構造用語の整理 フィールド ・フィールドとメソッドを合わせてメンバという。 ・クラスブロック内に宣言された変数のこと ・this.フ...

言葉の整理(java vs python)

java python

・フィールド

クラスが持つ変数のこと

・アトリビュート

クラスが持つ変数のこと

・メソッド

修飾子 戻り値の型 メソッド名(){}
public int calc(){/*処理*/}

・メソッド

def メソッド名:
/*処理*/

・コンストラクタ

インスタンス生成に用いる
コンストラクタ名はclass名()

・コンストラクタ

インスタンス生成に用いる
コンストラクタ名は_init_()

・クラス

修飾子 class class名{}
public class Main{/*クラスの内容*/}

・クラス

class クラス名:
*/クラスの処理*/

・インスタンス

型 変数名 = new コンストラクタ名();

・インスタンス

変数名 = クラス名();

クラスの定義とアクセス

クラスを定義するときは class キーワードを利用します。メソッドの定義には def を利用しますが、第一引数にはインスタンスオブジェクトが渡されます。この引数には self という名前を使うのが慣習です。

クラス定義

アトリビュート定義

ローカル変数

インスタンスにアクセスする

インスタンス名.アトリビュート名でアクセスすることができます。

アトリビュートメソッドの隠蔽(カプセル化)

クラス内の内部だけで利用するアトリビュートやメソッドを隠して、外部から利用できなくすることをオブジェクト思考の用語でカプセル化といいます。pythonでは、アトリビュートやメソッドの名前の前に”_”をつけます。

・”_”が0つ:public →クラスの外部からでも書き換え可能

・”_”が1つ: →クラスの外部からは書き換えができなくなる

・”_”が2つ:private → クラスの外部からは直接アクセスできなくなる

クラス定義の例

pythonのメソッドの第1引数の名前は習慣的に「self」にするようになってます。selfはただの引数なので、thisでもmeでもコードは動きますが、可読性を失うためにselfを使用しましょう。

よく知りたい方に向けて クラスを確認してください。