JS扩展方法:通过原型prototype为JS的function扩展一个新的function
<script>
function Rectangle(width, height) {
this.width = width;
this.height = height;
}
//为js的一个function添加一个方法,即我们通过原型prototype为一个class添加一个method
Rectangle.prototype.adds = function (rec) {
if (rec instanceof Rectangle) {
return (rec.width*rec.height);
}
else {
alert("Invalid Rectangle object!");
}
}
var v = new Rectangle(3, 2);
v = v.adds(v); //使用扩展方法
alert("面积是:"+v);
</script>
C#扩展方法:在不改类本身的前提下,为其扩展一个新的方法.
public class Rectangle
{
public double Width
{
get;
set;
}
public double Height
{
get;
set;
}
}
public static class Extension
{
public static Rectangle Adds(this Rectangle p, Rectangle p1)
{
return new Rectangle { Width = p.Width + p1.Width, Height = p.Height + p1.Height };
}
}
作者:仓储大叔,张占岭,
荣誉:微软MVP