開発環境
- 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 コメント:
コメントを投稿