開発環境
- 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部(オブジェクト指向プログラミング)のまとめ演習9.(「死んだオウム」スケッチ(芝居のシミュレーション))を解いてみる。
その他参考書籍
9.(「死んだオウム」スケッチ(芝居のシミュレーション))
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-
class Actor:
def line(self):
self.says()
class Customer(Actor):
def says(self):
print("customer: \"that's one ex-bird!\"")
class Clerk(Actor):
def says(self):
print("clerk: \"no it isn't...\"")
class Parrot(Actor):
def says(self):
print("parrot: None")
class Scene:
def __init__(self):
self.customer = Customer()
self.clerk = Clerk()
self.parrot = Parrot()
def action(self):
actors = [self.customer, self.clerk, self.parrot]
for actor in actors:
actor.line()
if __name__ == '__main__':
Scene().action()
入出力結果(Terminal)
$ ./sample.py customer: "that's one ex-bird!" clerk: "no it isn't..." parrot: None $
ちなみにJavaScriptの場合。
コード(BBEdit)
function Actor(){
this.line = function(){
this.says();
};
}
function Customer(){
this.says = function(){
$('#pre0').append("customer: \"that's one ex-bird!\"\n");
};
Actor.apply(this, arguments);
}
Customer.prototype = new Actor();
function Clerk(){
this.says = function(){
$('#pre0').append("clerk: \"no it isn't...\"\n");
};
}
Clerk.prototype = new Actor();
function Parrot(){
this.says = function(){
$('#pre0').append("parrot: None\n");
};
}
Parrot.prototype = new Actor();
function Scene(){
var customer = new Customer();
var clerk = new Clerk();
var parrot = new Parrot();
var actors = [customer, clerk, parrot];
this.line = function(){
for(var i = 0; i < actors.length; i++){
actors[i].line();
}
};
}
new Scene().line();
0 コメント:
コメントを投稿