// function fn1() {} // fn1() // 立即执行函数 (function(){ // 可以保证作用域 唯一性 class Money { name:string; num: number; constructor(name:string,num:number) { this.name = name; this.num = num; } say() { console.log("你好") } } /** * 继承 * 因为想让多个子类同时拥有父类的属性及方法 所以采用继承 * 继承后 子类就会拥有父类相同的内容 * 若子类中 定义的方法与父类相同 则会覆盖父类的方法 方法重写 */ class A extends Money { say() { console.log("大家好") } } class B extends Money { } let aa = new A('孙悟空',100); let bb = new B('这个',100); console.log(aa); aa.say() bb.say() })()