オブジェクト指向プログラミング
- クラス
- 複数の要素を持ったオブジェクトを表現する定義するしくみ。
- たとえば、"タイトル", "作者", "ジャンル"という要素を持ったbookというクラスを定義できる。
- 複数の要素を持ったオブジェクトを表現する定義するしくみ。
- インスタンス
- インスタンス変数
- メソッド
- クラスで定義された関数。そのクラスのオブジェクトを通してのみ呼び出し可能
- __init__はインスタンスが作成されたときに必ず実行されるメソッド
チャレンジ(PART2 12章)
1
>>> class Apple:
... def __init__(self, color, weight, price, made_in_japan):
... self.color = color
... self.weight = weight
... self.price = price
... self.is_made_in_japan = made_in_japan
...
>>> apple01 = Apple('red',5,100,True)
>>> print(apple01)
<__main__.Apple object at 0x7f8273123c18>
2
>>> class Circle:
... def __init__(self,h):
... self.hankei = h
... def area(self):
... return self.hankei * self.hankei * math.pi
...
>>> import math
>>> en = Circle(3)
>>> print(en.area())
28.274333882308138
インポート忘れて後からやっちゃった
3
>>> class Triangle:
... def __init__(self,teihen,takasa):
... self.teihen = teihen
... self.takasa = takasa
... def area(self):
... return self.teihen * self.takasa / 2
...
>>> sankaku = Triangle(5,6)
>>> print(sankaku.area)
<bound method Triangle.area of <__main__.Triangle object at 0x7f6a5121cc88>>
>>> print(sankaku.area())
15.0
よくメソッド使うとき()を忘れる
4
2, 3とおなじようなので省略