開発環境
- OS X Lion - Apple(OS)
- Safari (Webプラウザ)
- BBEdit - Bare Bones Software, Inc.(Text Editor)
- Script言語:JavaScript
- JavaScript Library: jQuery
『初めてのJavaScript 第2版』(シェリー・パワーズ著(Shelley Powers著)、武舎 広幸+武舎 るみ訳、オライリー・ジャパン、2009年、ISBN978-4-87311-425-5) の13章(カスタムオブジェクトと例外の処理)練習問第13-2を解いてみる。
その他参考書籍
13-2.
コード(BBEdit)
var MyObject = function () {
var that = this;
var a = 10;
that.getA = function () {
return a;
};
that.setA = function (o) {
a = o;
};
return that;
};
var o = MyObject();
var result = "";
// aには直接アクセスできない(undefinedになってる)
result += o.a + "\n";
// 特権メソッドを利用して値を取得したり変更したりしてみる
result += o.getA() + "\n";
o.setA( 20 );
result += o.getA() + "\n";
$('#pre0').text(result);
ちなみにPython3kの場合。
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3
# -*- coding: utf-8 -*-
# PythonではJavaScriptの様な隠蔽はできない
# 下線「_」を先頭に付けて意図だけ示す
class MyClass:
def __init__(self):
self._a = 10
def getA(self):
return self._a
def setA(self, value):
self._a = value
c = MyClass();
print(c.getA())
c.setA(20)
print(c.getA())
入出力結果(Terminal)
$ ./sample.py 10 20 $
0 コメント:
コメントを投稿