7、TypeScript 类(class)
2022-03-31 13:51:06   0  举报             
     
         
 AI智能生成
  TS学习笔记
    作者其他创作
 大纲/内容
  定义类    
     类(Class)定义了一件事物的抽象特点,包含它的属性和方法
  
     以上述为例    
     TS 中,也是通过 Class 关键字来定义一个类, 使用 constructor 定义构造函数。
  
     构造函数: constructor    
     主要用于初始化类的成员变量属性  
     类的对象创建时自动调用执行  
     没有返回值  
     类的继承    
     实现    
     使用 extends 关键字实现继承,子类中使用 super 关键字来调用父类的构造函数和方法。  
     以上述为例    
     子类继承父类后子类的实例就拥有了父类中的属性和方法,可以增强代码的可复用性  
     将子类共用的方法抽象出来放在父类中,自己特殊逻辑放在子类中重写父类的逻辑  
     super 可以调用父类上的方法和属性
(相当于ES5的:在静态方法和构造函数中指向父类; 在原型方法中指向父类的prototype;)
  
    (相当于ES5的:在静态方法和构造函数中指向父类; 在原型方法中指向父类的prototype;)
 类的修饰符    
     TypeScript 中有三类访问修饰符,分别是: public、private、protected。不写默认为 public;和一个只读修饰符 readonly  
     访问修饰符    
     public    
     公共的  
     自己、自己的子类、
其他类都可以访问
  
    其他类都可以访问
 protected    
     受保护的  
     自己、自己的子类都能访问,
其他类不能访问
  
    其他类不能访问
 private    
     私有的  
     只有自己能访问,
子类和其他类不能访问
  
    子类和其他类不能访问
 只读修饰符    
     readonly    
     修饰的变量只能在属性声明时 或 构造函数 中初始化  
     举个🌰    
     仅读属性只能在constructor中被赋值  
     注意    
     readonly 只是在 编译阶段进行代码检查。运行时依然能打印  
     编译时    
     编译时异常  
     运行时    
     依然更改了 name 属性  
     参数属性    
     在上面的例子中,都是在类的定义的顶部初始化实例属性,在 constructor 里接收参数然后对实例属性进行赋值,参数属性就是为了简化这一过程的  
     直接在 constructor 构造函数的参数前面加上修饰符 => 等同于在类中定义该属性同时给该属性赋值,使代码更简洁。
  
     存取器    
     可以通过 getter/ setter来改变一个类中属性的读取和赋值行为
  
     静态属性和方法 static    
     使用 static 修饰符修饰的方法称为静态方法,它们不需要实例化,而是直接通过类来调用  
     个人理解为:类的对象角色下的属性方法  
     抽象类和方法 abstract    
     使用 abstract 关键字来定义抽象类和 在抽象类内部定义抽象方法。  
     抽象类    
     抽象描述一种概念,做为其它类的基类使用  
     举个🌰    
     无法创建抽象类的实例,抽象类只能被继承  
     抽象方法    
     特点    
     抽象方法不能在抽象类中实现,只能在抽象类的具体子类中实现,而且必须实现  
     抽象方法只能出现在抽象类中  
     举个🌰    
     子类可以对抽象类进行不同的实现
  
    
 
 
 
 
  0 条评论
 下一页
  
   
   
   
   
  
  
  
  
  
  
  
  
  
  
 