開発環境
- OS X Lion - Apple(OS)
- BBEdit - Bare Bones Software, Inc.(Text Editor)
- Script言語: Python
『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のVI部(オブジェクト指向プログラミング)25章(クラスの設計)の練習問題3を解いてみる。
その他参考書籍
3.
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3 #-*- coding: utf-8 -*- class A: def __init__(self, data): self.data = data def f(self): print("Hello, class A! ({0})".format(self.data)) # HAS-A関係(class B has class A) # コンテナオブジェクト class B: def __init__(self): self.data = "python" def f(self): # コンテナメソッド a = A(self.data) # コンポジション(他のオブジェクトを組み込む) a.f() if __name__ == '__main__': a = A("javascript") b = B() a.f() b.f()
入出力結果(Terminal)
$ ./sample.py Hello, class A! (javascript) Hello, class A! (python) $
ちなみにJavaScriptの場合。
コード(BBEdit)
var A = function(data){ this.data = data; }; A.prototype.f = function(){ $('#pre0').append("Hello, class A! (" + this.data + ")\n"); }; var B = function(){ this.data = "python"; }; B.prototype.f = function(){ var a = new A(this.data); a.f(); }; var a = new A("javascript"); var b = new B(); a.f(); b.f();
0 コメント:
コメントを投稿