開発環境
- OS X Lion - Apple(OS)
- BBEdit - Bare Bones Software, Inc.(Text Editor)
- プログラミング言語: Python
『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のVI部(クラスとオブジェクト指向プログラミング)の22章(Pythonでのオブジェクト指向プログラミング)の練習問題3、4、5、6、7を解いてみる。
その他参考書籍
3, 4, 5, 6, 7.
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-
class A:
def __init__(self, a): #初期化
self.data = a
print("Hello, __init__!")
def f(self):
print("data: {0}".format(self.data))
class B(A): # Aがスーパークラス, Bがサブクラス(Aを継承)
def __init__(self, a, b):
A.__init__(self, a)
self.data2 = b
def f(self):
A.f(self)
print("data2: {0}".format(self.data2))
# クラスからインスタンスはいくつでも作成可能
a = A("Python")
b = A("Perl")
a.f()
# クラスの関数(メソッドの第1引数はインスタンス自身
# 以下の2つは同じ意味
b.f()
A.f(b)
c = B("JavaScript", "HTML5")
c.f()
入出力結果(Terminal)
$ ./sample.py Hello, __init__! Hello, __init__! data: Python data: Perl data: Perl Hello, __init__! data: JavaScript data2: HTML5 $
0 コメント:
コメントを投稿