`

TypeScript语法基础 - 抽象类和多态

 
阅读更多

   1. 多态:父类定义一个方法不去实现,让继承它的子类去实现,每一个子类有不同的表示

class Animal{
	name:string;
	constructor(name:string) {
		this.name=name;
	}

	eat():void{
		console.log('吃的方法');
	}
}

//子类
class Dog extends Animal{
	constructor(name:string) {
		super(name);//初始化父类的构造函数
	}

	eat():string{
		return this.name+'吃肉';
	}
}

//子类
class Cat extends Animal{
	constructor(name:string) {
		super(name);
	}

	eat():string{
		return this.name+'吃老鼠';
	}
}

 

   2. typesctipt中的抽象类

/*
* typesctipt中的抽象类,他是提供其他类继承的基类,不能被实例化
* 用abstract关键字定义抽象类和抽象方法,抽象类中的抽象方法不包含具体事项并且必须在派生类中事项。
* abstract抽象方法只能放在抽象类里面
* 抽象类和抽象方法用来定义标准,标准: Animal这个类要求它的子类必须包含eat方法
* */
abstract class Animal{
	public name:string;
	constructor(name:string) {
		this.name=name;
	}

	abstract eat():any;

}

class Dog extends Animal {
	//抽象类的子类必须实现抽象类的里面的抽象方法
	constructor(name:any) {
		super(name);
	}

	eat(){
		console.log(this.name+'吃鱼头');
	}

}
var d=new Dog('王公子');

 

分享到:
评论

相关推荐

    藏经阁-现代TypeScript高级教程-103.pdf

    TypeScript 的类支持构造函数、访问修饰符(public、private、protected)和抽象方法。 **五、枚举和泛型** 枚举(Enum)是用于创建一组相关的常量集合,它们可以是数字或字符串类型。泛型(Generics)是 ...

    Typescript for C# Programmers

    综上所述,《Typescript for C# Programmers》这本书不仅深入介绍了TypeScript的基本语法和高级特性,还为从C#迁移至TypeScript的开发者提供了宝贵的指导。通过学习本书,读者将能够更好地理解如何利用TypeScript的...

    TypeScript 入门教程-javascript

    9. **抽象类(Abstract Class)与抽象方法**:用于创建基类,不能被实例化,但可以有子类继承。 10. **接口继承(Interface Inheritance)**:接口可以继承其他接口,实现多态。 ## 三、高级类型 11. **泛型...

    由Javascript的继承引发的:抽象类、接口、多态,甚至是类型转换!

    在标题“由JavaScript的继承引发的:抽象类、接口、多态,甚至是类型转换!”中,我们可以深入探讨这些概念在JavaScript中的应用和实现。 首先,让我们从继承开始。JavaScript的继承基于原型链(prototype chain)...

    Learning TypeScript 高清完整中文版

    泛型是TypeScript另一个强大的工具,它允许我们在定义函数、接口和类时引入类型参数,从而实现更高级别的抽象和代码复用。泛型在处理集合和数据结构时特别有用,例如在创建自定义的映射(Map)和队列(Queue)等数据...

    TypeScript 使用手册(中文版)翻译

    7. 抽象类(Abstract Class)与抽象方法:允许创建不能实例化的基类,为子类提供模板。 三、模块与命名空间 8. 模块(Modules):TypeScript 使用 ES6 的导入导出语法支持模块化,也可以使用内部的命名空间系统,...

    typescript.pdf

    3.接口:TypeScript的接口是对行为的抽象,它定义了类的行为和方法的规范。 4.模块:TypeScript支持模块化编程,可以将大的程序分成小的部分,每个部分可以单独开发和测试。 5.泛型:TypeScript的泛型允许用户创建可...

    typescript教程与maven整合

    2. **类与接口**:TypeScript支持面向对象编程,可以定义类和接口,实现继承和多态。类用于创建对象,接口则用来描述对象的结构,提供了一种抽象和规范的方式。 3. **泛型**:泛型允许我们编写可重用的代码,可以...

    TypeScript封装统一操作Mysql Mongodb Mssql的底层类库.zip

    7. **面向对象编程**:TypeScript支持面向对象编程(OOP),包括类、继承、封装和多态等概念。在这个项目中,可能定义了数据库操作的基类,然后为每种数据库系统创建相应的子类,实现特定的数据库操作。 8. **异步...

    typeScript-git

    3. **类(Classes)**:TypeScript支持面向对象编程,允许开发者使用类来组织和抽象代码,提供继承和多态等特性。 4. **模块(Modules)**:模块化是现代JavaScript开发的关键,TypeScript支持CommonJS、AMD和ES6...

    个人学习TS的基本知识点

    3. 抽象类:抽象类不能实例化,常作为基类使用,定义抽象方法供子类实现。 4. 对象类型:TypeScript 中的对象类型可以使用接口或者类型别名来描述。 5. 严格字面量检测:确保对象的属性符合其声明的字面量类型。 6. ...

    打字稿

    例如,通过定义接口(Interfaces)和类型(Types)来实现SRP,使用装饰器(Decorators)实现对类和方法的扩展而不破坏原有代码(OCP),通过继承和多态来遵循LSP,定义细粒度的接口以满足ISP,以及使用依赖注入...

    exercism-typescript

    打字稿通常指的是程序员在编程时编写的源代码文件,因此这个项目可能包含一系列的编程挑战,让学习者实践TypeScript语法和特性。 TypeScript的核心知识点包括但不限于: 1. **类型系统**:TypeScript引入了静态...

    todoapp-typescript

    2. **类与对象**:理解面向对象编程的概念,如类(class)、构造函数、继承(extends)、抽象类(abstract class)以及多态(polymorphism)。 3. **接口(Interface)**:学习如何定义接口来规范对象的结构,这...

    Advanced JavaScript

    - 封装与抽象的重要性。 - 高级OOP设计模式的应用。 ### 五、函数与变量作用域 《函数与变量作用域》章节,深入分析了JavaScript中函数的细节以及作用域规则。这可能包括: - 函数声明与表达式的区别。 - 闭包的...

    深入理解JavaScript和TypeScript中的class

    TypeScript 在此基础上增加了类型检查和对抽象类及抽象方法的支持,使代码更安全: ```typescript class Person { private x: any; private y: any; private z: any; static foo() { /*...*/ } constructor...

    Codelex-exercises

    通过"Codelex-exercises",我们可以学习如何定义类、实现继承,以及利用抽象类和接口实现多态。此外,访问修饰符(如`public`、`private`和`protected`)在控制成员的可见性方面也起着关键作用。 四、模块与命名...

    nlw5:#NLW5的类文件

    在TypeScript中,类可以支持继承、接口、访问修饰符(public、private、protected)以及抽象类等特性,这些是构建复杂应用程序的关键元素。 **TypeScript基础知识** TypeScript是JavaScript的一个超集,它添加了...

    workshops-ipa

    5. 抽象类(Abstract Class)与接口的区别:理解何时使用抽象类以及何时使用接口,以及它们在多态中的角色。 6. 泛型(Generics):泛型允许我们在编写代码时定义类型参数,以实现更通用的函数或类,增加代码重用性...

    ActionScript权威指南.pdf

    书中会详细介绍如何创建和使用自定义类,以及如何利用接口和抽象类实现设计模式。 3. **事件驱动编程**:ActionScript中的事件模型是其交互性的重要组成部分。读者将学习如何注册和处理事件,以及理解事件流和事件...

Global site tag (gtag.js) - Google Analytics