TS —— TS中的面向对象

文章目录

  • 前言
  • 一、什么是对象
  • 二、定义class
  • 三、extends继承
  • 四、super继承
  • 五、接口
  • 总结

第一节: 什么是对象

程序中所有的操作都需要通过对象来完成,对现实事物的一个抽象,以一系列的属性与方法的集合。比如,人,手机。

第二节:定义class

class Person{name:string = "张三";static age:number = 19;//静态属性readonly height:number = 163;//只读属性无法修改say(){console.log("会说话..");}}

构造函数:

class Person{realname:string;//定义类型age:number;//构造函数中赋值constructor(realname:string,age:number){this.realname = realname;this.age      = age;}}

第三节:extends继承

子类继承父类的属性与方法。

第四节:super继承

在类的方法中,就是表示当前类的父类。子类调用父类的构造函数,必须写super调用父类的函数,因为重写了父类的函数,父类的函数就无法调用需要用super调用父类的构造函数

第五节:抽象类

定义:abstract  开头的类为抽象类 不能用来创建对象,专门用来继承的类。

抽象类声明的抽象方法,子类必须要实现父类的抽象方法。

(function(){abstract class Person{realname:string;age:number;constructor(realname:string,age:number){this.realname = realname;this.age      = age;}abstract say():void;}class ChinaPerson extends Person{constructor(realname:string,age:number){super(realname,age);}say(){console.log("说普通话");}}   const P1 = new ChinaPerson("张三",19);})();

第六节:接口

定义:接口用来定义一个类中 应该包含哪些属性和方法。

接口定义的属性都没有值,接口定义的方法都是抽象方法。

接口是对类的属性和方法的一个限制。

(function(){interface myinterface{name:string,age:number,}const obj:myinterface={name:"张三",age:19}console.log(obj);})();

用 implements 实现接口。

(function(){interface myinterface{name:string;say():void;}class Person implements myinterface{name:string;constructor(name:string){this.name = name;}say(){console.log("123");}}})();

第七节:属性的封装

Public:公共的,修饰的属性可以在任意位置修改。

Private:私有的,只能在类的内部使用。可以用get和set。

Protected:受保护的属性,只能在当前类和子类中访问。

class Person {realname: string;private age: number;protected  height:number;constructor(realname: string, age: number,height:number) {this.realname = realname;this.age = age;this.height = height;}say( ){return this.age = 30}getAge( ){return   this.age = 40}
}
class Fans extends Person{constructor(realname:string,age:number,height:number){super(realname,age,height);}changeAge(){return   this.height = 60;}
}
const fan = new Fans('Ljy',24,170);
console.log(fan.changeAge());

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部