このディレクトリの索引
http://pc12.2ch.net/test/read.cgi/tech/1258320456/45
#  Polygonをスーパークラスとして,正三角形(Triangle),正四角形(Square)を表現するクラスをそれぞれ定義せよ. 
#   
#  ・辺の長さのみを引数に与えてインスタンスを生成する  
#  ・自身の面積を計算して結果を返すメソッドarea()を持つ  
#  √3 = 1.73 としてよい  
#  メインルーチンでは,実際にインスタンスを生成し,各インスタンスについて,インスタンス自身,周囲の長さ,面積の3項目を表示するようにせよ. 
#   

class 正多角形 has
  :create(Class,Obj,_辺の長さ) :-
    :new(Class,Obj),
    Obj!辺の長さ := _辺の長さ;
instance
  attibute 辺の長さ,角;
end.

class 三角形 has
nature 正多角形;
  attribute 角 := 3;
instance
  :area(Obj,_面積) :-
    Obj!辺の長さ * 1.73;
end.

class 四角形 has
nature 正多角形;
  attribute 角 := 4;
instance
  :area(Obj,_面積) :-
    Obj!辺の長さ * Obj!辺の長さ;
end.