パブリックなメソッドを定義する
さて今度はprintHelloというパブリックなメソッドを定義してみましょう。
PHPの場合
PHPの場合には以下のようになるかと思います。
class SimpleClass {
public $message = 'Public';
public function printHello(){
print("newしたオブジェクトからは呼び出せる");
}
}
$obj = new SimpleClass();
$obj->printHello();
JavaScriptの場合
JavaScriptの場合には、クラス名のSimpleClassの後に、ドット(.)とprototypeを付けて、その後にメソッド名を付けます。prototypeの概念説明はやりだすとキリがない(というかそこまで的確に説明する自信がない)のでこのあたりを読むのが良いのかなと思います。
var SimpleClass;
SimpleClass = (function(){
function SimpleClass() {
this.message = 'Public';
}
SimpleClass.prototype.printHello = function () {
console.log("newしたオブジェクトからは呼び出せる");
};
return SimpleClass;
})();
var obj = new SimpleClass();
obj.printHello();
参考まで上記のJavaScriptを生成したCoffeeScript
CoffeeScriptの場合、function printHello(){}に相当する記述が printHello:() ->という形でメソッドを定義します。
※CoffeeScriptのメソッド定義の記法に最初違和感を感じるかもしれませんね
class SimpleClass
constructor:() ->
@messsage = 'Public'
printHello:() ->
console.log("newしたオブジェクトからは呼び出せる")
obj = new SimpleClass()
console.log(obj.message)