工厂函数,顾名思义,就是通过一个"工厂的加工" 来创建一个对象的函数 //工厂函数 function createPerson(name,sex){ sex = sex == '男' ? '女' : sex // '加工' return { name:name, sex:sex }; } var p =createPerson('张三','男'); 这种操作在需要创建多个相似对象时可以有效地减少重复代码,但是这样有个缺点就是,每次调用工厂函数创建的对象都是独立的object,不存在继承关系,显然
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 实例级别和类级别的static_构造函数_字段属性的简单介绍 { public class B { public static void a() { } public B(int a)//构造函数无返回值,与类名一致.可以无参. { //int a 是形参 } public B() //无参构造函数 { }
abstract class demo{ public demo() {} protected void a() { System.out.println("I am parents!"); } } class demoChild extends demo{ public demoChild() { System.out.println("Begin from here"); a(); String a ="hellp"; } static {
通过构造函数生成的实例化对象,无法共享属性或方法(即每个实例化对象上都有构造函数中的属性和方法):造成了一定的资源浪费 function Obj(name,age){ this.name=name; this.age=age; this.func=function(){ return 'this is a test function'; }; } var o1=new Obj('小明',10); var o2=new Obj('小白',12); console.log(o1.func===o2.