首页 > 其他分享 >TypeScript入门2:类、继承、访问修饰符

TypeScript入门2:类、继承、访问修饰符

时间:2024-04-30 14:12:02浏览次数:25  
标签:TypeScript console 入门 修饰符 number name log id string

class Person {
  //实例属性
  id: number;
  name: string;
  age: number = 18;
  
  //构造函数
  constructor(id: number, name: string) {
    this.id = id;
    this.name = name;
  }
  
  //实例方法
  introduce(): string {
    return `hello,I am ${this.name},and I am ${this.age} years old`
  }
}


//创建对象
let person1 = new Person(1,'zhangsan');

//对象及其属性读写
console.log(person1);
console.log(person1.name); //读
person1.name = 'lisi'; //写
console.log(person1.name);

//实例方法调用
let intro = person1.introduce();
console.log(intro);


//静态成员:Typescript 中的类中可以包含静态成员(静态属性和静态⽅法),静态成员⾪属于类本身,⽽不属于某个对象实例。静态成员通⽤⽤于定义⼀些常量,或者⼯具⽅法
class Constants{
  static count:number=1;
}
 
class Utils{
  static toLowerCase(str:string){
    return str.toLowerCase();
  }
}

//静态成员⽆需通过对象实例访问,直接通过类本身访问即可
console.log(Constants.count);
console.log(Utils.toLowerCase('Hello World'));


// 继承:⼦类可以直接使⽤⽗类的特性,并根据需要添加新的特性或覆盖现有的特性。这种机制赋予⾯向对象程序良好的扩展性
class Student extends Person {
  classNumber: string;

  constructor(id: number, name: string, classNumber: string) {
    super(id, name);
    this.classNumber = classNumber;
  }

  introduce(): string {
    return super.introduce()+`, and I am a student`;
  }
}
  
let student = new Student(1,'xiaoming','三年⼆班');
console.log(student);
console.log(student.introduce());
/*
类的继承需要使⽤关键字 extends
⼦类构造器中需使⽤ super() 调⽤⽗类构造器对继承⾃⽗类的属性进⾏初始化。
在⼦类中可以使⽤ this 关键字访问继承⾃⽗类的属性和⽅法。
在⼦类中可以使⽤ super 关键字访问⽗类定义的⽅法
*/


//访问修饰符:访问修饰符⽤于控制类成员(属性、⽅法等)的可访问性。TypeScript提供了三种访问修饰符,分别是private、protected和public
/*
private 修饰的属性或⽅法是私有的,只能在声明它的类中的被访问。
protected 修饰的属性或⽅法是受保护的,只能在声明它的类和其⼦类中被访问。
public 修饰的属性或⽅法是公有的,可以在任何地⽅被访问到,默认所有的属性和⽅法都是public 的。
*/
class Personnew {
  private id: number;
  protected name: string;
  public age: number;
 
  constructor(id: number, name: string, age: number) {
    this.id = id;
    this.name = name;
    this.age = age;
  }
}
 

标签:TypeScript,console,入门,修饰符,number,name,log,id,string
From: https://www.cnblogs.com/yppah/p/18167930

相关文章

  • Go语言系列——数组和切片、可变参数函数、Maps、字符串、指针、结构体、方法、接口(一
    文章目录11-数组和切片数组数组的声明数组是值类型数组的长度使用range迭代数组多维数组切片创建一个切片切片的修改切片的长度和容量使用make创建一个切片追加切片元素切片的函数传递多维切片内存优化12-可变参数函数什么是可变参数函数语法通过一些例子理解可变参......
  • TypeScript入门1:注释、变量常量、数据类型、函数
    console.log('hits');//声明变量leta:number=10;//声明常量constb:number=20;//类型推断:如果⼀个变量或常量的声明包含了初始值,TS便可以根据初始值进⾏类型推断,此时可以不显式指定其类型letc=60;console.log(typeofc);//number//数字类型:整数和浮点......
  • 【Go 语言入门专栏】Go 语言的起源与发展
    前言Go语言是当下最为流行的编程语言之一,大约在2020、2021年左右开始于国内盛行,许多大厂很早就将部分Java项目迁移到了Go,足可看出其在性能方面的优越性。相信各位都知道,在爬虫业务中,并发是一个关键的需求,不然仅靠单线程采集数据,只怕公司垮了数据都还没采完。以往编写爬虫......
  • typescript
    typescriptref:https://www.runoob.com/typescript/ts-tutorial.html安装npminstall-gtypescripttsc-vapp.tsconsthello:string="HelloWorld!"console.log(hello)然后执行以下命令将TypeScript转换为JavaScript代码:tscapp.tstscfile1.tsfile2.ts......
  • HydroOJ 从入门到入土(17)批量转化其他格式题库(Python)
    新题库,新快乐,新痛苦。一、想法有了多种题库之后,常常会遇到大量题库无法转化到自己的OJ上。每次都要重新手写解析器,非常浪费时间,于是抽出了这个工具。本工具可以将抽取好的信息自动组装成符合HydroOJ格式的题目并自动压缩,解决后半部分的转化工作。二、实现1.准备包和相......
  • SQL SERVER 从入门到精通 第5版 第三篇 高级应用 第11章 触发器 读书笔记
     第11章触发器>.概述触发器是一种特殊类型的存储过程.当指定表中的数据发生变化时触发器自动生效.它与表紧密相连,可以看作表定义的一部分.触发器不能通过名称被直接调用,更不允许设置参数.在SQLSERVER中,一张表可以有多个触发器.用户可以使用INS......
  • 从零手写实现 apache Tomcat-01-入门介绍
    创作缘由平时使用tomcat等web服务器不可谓不多,但是一直一知半解。于是想着自己实现一个简单版本,学习一下tomcat的精髓。怎么实现一个tomcat呢?Tomcat就像是一个用Java语言搭起来的大舞台,专门用来演出那些用Java编写的网页剧。想要玩得转Tomcat,你最好对Java语言有所了解......
  • Mybatis Plus快速入门(一)
    1.环境准备MySQL环境配置:5.7,可以参考我之前的文章使用docker或者直接安装在服务器上面。新建一张表user,使用MybatisPlus官网提供表结构和数据。DROPTABLEIFEXISTS`user`;CREATETABLE`user`(idBIGINTNOTNULLCOMMENT'主键ID',nameVARCHAR(30)NULLD......
  • 2-ICEM入门练习:梯形切分映射
    前言这一篇主要学习icem的分割以及映射功能。几何采用一个梯形,因为icem创建的block都是长方体,所以需要将block和几何进行一一对应才可以生成网格。因此通过梯形的网格划分来理解block及映射这部分知识。其余部分比如建模等,就不详细描述。具体步骤几何如图:创建block此时......
  • 1-ICEM入门练习:正方体网格划分(六面体网格)
    1.前言采用简单几何结构进行网格划分,主要目的是熟悉ICEM操作流程及网格划分思路,参考B站博主视频进行自己练习。基本操作:鼠标中键--平移、ctrl+鼠标左键--旋转、鼠标右键上下滑动--放大缩小2.几何结构采用spceclaim建模20mm×20mm×20mm正方体几何,无需定义边界,保存文件类型......