typescript | 面向对象 + 类 + 接口 + 属性的封装 + 泛型

本文深入探讨了TypeScript的面向对象编程特性,包括类的定义与构造函数、面向对象的特点如静态属性与this关键字、继承与重写、super关键字的使用、抽象类及属性封装。同时,介绍了接口(Interface)的概念和作用,以及泛型(Generic)在函数和类中的应用,展示了如何通过泛型实现更灵活的类型约束。
摘要由CSDN通过智能技术生成


面向对象:程序之中所有的操作都需要通过对象来完成。

  • 举例来说:
    • 操作浏览器要使用window对象
    • 操作网页要使用document对象
    • 操作控制台要使用console对象

类(class)

要想面向对象,操作对象,首先便要拥有对象,那么下一个问题就是如何创建对象

要创建对象,必须要先定义类,所谓的类可以理解为对象的模型,程序中可以根据类创建指定类型的对象

举例来说:可以通过Person类来创建人的对象,通过Dog类创建狗的对象,通过Car类来创建汽车的对象,不同的类可以用来创建不同的对象。

constructor 构造函数,构造函数会在对象创建时调用

  • 定义类:

      class 类名 {
         
      	属性名: 类型;
      	
      	constructor(参数: 类型){
         
      		this.属性名 = 参数;
      	}
      	
      	方法名(){
         
      		....
      	}
      
      }
    
  • 示例:

      class Person{
         
          // 定义实例属性
          name: string;
          age: number;
      	// constructor 构造函数,构造函数会在对象创建时调用
          constructor(name: string, age: number){
         
          	// this 表示当前的实例
              this.name = name;
              this.age = age;
          }
      
          sayHello(){
         
              console.log(`大家好,我是${
           this.name}`);
          }
      }
    
  • 使用类:

      const p = new Person('孙悟空', 18);
      p.sayHello();
    

面向对象的特点

  • 静态属性

    • 静态属性(方法),也称为类属性。使用静态属性无需创建实例,通过类即可直接使用

    • 静态属性(方法)使用static开头

    • 示例:

       class Tools{
             
           static PI = 3.1415926;
           
           static sum(num1: number, num2: number){
             
               return num1 + num2
           }
       }
       
       console.log(Tools.PI);
       console.log(Tools.sum(123, 456));
      
  • this

    • 在类中,使用this表示当前对象

继承

继承时面向对象中的又一个特性

使用继承后,子类会拥有父类所有的方法和属性。

通过继承可以将其他类中的属性和方法引入到当前类中,通过继承可以将多个类中的共有的代码写在一个父类中。

  • 示例:

        class Animal{
         
            name: string;
            age: number;
        
            constructor(name: string, age: number){
         
                this.name = name;
                this.age = age;
            }
        }
        
        class Dog extends Animal{
         
        
            bark(){
         
                console.log(`${
           
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值