es5的类
es5中定义一个简单的类
1 | function Person(){ |
构造函数和原型链中增加方法
1 | function Person(){ |
原型链上的属性和方法会被多个实例共享但是构造函数不会
类中的静态方法
1 | function Person(){ |
继承 原型链+对象冒充的组合继承模式.
对象冒充继承可以继承Person构造函数里面的属性和方法,但是不能继承Person原型链上的属性和方法
原型链继承可以继承Person的构造函数的属性和方法,也能继承原型链上的方法,但是实例化子类时无法给父类传参。
1 | function Web(){ |
1 | function Web(){ |
原型链+构造函数的组合继承
1 | function Web(){ |
另一种写法 直接继承父类的原型链
1 | function Web(){ |
ts中类
通过class 关键字来定义
1 | class Person{ |
1 | class Person{ |
ts中实现继承 通过extends、super
1 | class Person{ |
ts中继承的探讨
1 | //父类 |
当子类中的方法与父类的方法相同时执行子类的方法
ts类里的修饰符,在typescript 里定义属性时有三总修饰符 public protected private
public:公有 在类里面、 子类里、 类外面都可以访问
类里面访问公有属性
1 |
|
子类中访问公有属性
1 | class Person{ |
在类外面访问公有属性
1 | class Person{ |
protected: 保护类 在类里面可以方位、 子类里面可以访问,但是在类外面是不可以访问的
类里面访问保护protected属性
1 |
|
子类中访问保护protected属性
1 | class Person{ |
在类外面访问保护protected属性
1 | class Person{ |
private:私有类 在类里面可以访问,但是在子类、类外面是不可以访问的
类里面访问私有private属性
1 |
|
子类中访问私有private属性
1 | class Person{ |
在类外面访问私有private属性
1 | class Person{ |