2012年8月31日金曜日

開発環境

『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のVI部(クラスとオブジェクト指向プログラミング)の24章(クラスのコーディング(詳細))4を解いてみる。

4.

サブクラスのメソッドの中に、「スーパークラス.メソッド名(self,[,,])」というコードを記述して、それから追加する新たな機能を記述すればいい。

コード(TextWrangler)

sample.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-

class A:
 def __init__(self,a):
  print("Hello, A!")
  self.a = a
 def f(self):
  print("Hello,",self.a,"!")

class B(A):
 def __init__(self,a,b):
  A.__init__(self,a)
  self.b = b
 def f(self):
  A.f(self)
  print("Hello,",self.b,"!")

if __name__ == "__main__":
 a = A(10)
 print()
 b = B(20,30)
 print()
 for i in [a,b]:
  i.f()
  print()

入出力結果(Terminal)

Hello, A!

Hello, A!

Hello, 10 !

Hello, 20 !
Hello, 30 !

$

0 コメント:

コメントを投稿