โดยการประกาศตัวแปร object ภายใน static method ของ class นั้นแทน
และใช้วิธี method chaining เพื่อลดการเรียกชื่อผ่านตัวแปร object จากด้านนอกและ
เรียกๆ method ที่คืนค่าของ class ไปเรื่อยๆ เพื่อประมวลผล (method chaining)
และสิ้นสุดด้วยการเรียก result method เพื่อนำค่าที่ได้ไปใช้งาน ดังนี้ครับ
PHP
<?php
class Cal
{
protected $n;
public function __construct($n){
$this->n = $n;
}
public function add($n){
$this->n += $n;
return $this;
}
public function mul($n){
$this->n *= $n;
return $this;
}
public function result(){
return $this->n;
}
public static function create($n){
return new Cal($n);
}
}
echo Cal::create(3)->add(5)->mul(100)->result();
?>
C#
// Cal.cs
public class Cal
{
protected int n;
public static Cal Create(int n)
{
return new Cal(n);
}
public Cal(int n)
{
this.n = n;
}
public Cal Add(int n){
this.n += n;
return this;
}
public Cal Mul(int n)
{
this.n *= n;
return this;
}
public int Result()
{
return this.n;
}
}
//Example
//Response.Write(Cal.Create(10).Add(1).Mul(3).Result());
ไม่มีความคิดเห็น:
แสดงความคิดเห็น