TypeScript入门2:类、继承、访问修饰符
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;
}
}
标签:
HarmonyOS
, TypeScript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!