2012年8月19日日曜日

開発環境

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

8.

スーパークラスを括弧で指定すればいい。継承の検索の順序は下から1段ずつ上に、左から右に。(python3.xの場合。python2.xの場合は左から順に一番上まで検索されてから右に移る。)

コード(TextWrangler)

sample.py

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

class A:
 def __init__(self):
  self.a = "A class"

class B(A):pass

class C(A):
 def __init__(self):
  self.a = "C class"

class D(B,C):pass

I = D()
print(I.a)

入出力結果(Terminal)

$ python -V
Python 3.2.3
$ python sample.py
C class
$ python2.7 sample.py
A class
$

0 コメント:

コメントを投稿