GithubHelp home page GithubHelp logo

blog's People

Watchers

James Cloos avatar  avatar

blog's Issues

学习一门语言的万金油

数据类型


4.1 类的定义
4.2 继承
4.3 类里面的修饰符
4.4 静态属性 静态方法 static
4.5 抽象类 多态

修饰符
类里面的修饰符 typescript里面定义属性的时候给我们提供了 三种修饰符

public : 公有类型 在当前类里面、 子类 、类外面(new 实例化出来)都可以访问
protected: 保护类型 在当前类里面、子类里面可以访问 ,在类外部没法访问
private : 私有类型 在当前类里面可以访问,子类、类外部都没法访问
属性如果不加修饰符 默认就是 公有 (public)

继承 class Web extends Programmer{}

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

静态属性 静态方法 static
类.静态方法
类.静态属性
静态方法 里面没法直接调用类里面的属性 =>类.静态属性

抽象类 (只是 类 标准) abstract
//typescript中的抽象类:它是提供其他类继承的基类,不能直接被实例化。
//用abstract关键字定义抽象类和抽象方法,抽象类中的抽象方法不包含具体实现并且必须在派生类中实现。
// abstract抽象方法只能放在抽象类里面
// 抽象类和抽象方法用来定义标准 。 标准:Animal 这个类要求它的子类必须包含eat方法

//抽象方法不包含具体实现并且必须在派生类中实现。
//抽象类的子类必须实现抽象类里面的抽象方法

接口(属性、函数、可索引和类的标准)interface Animal class Web extends Programmer implements Person{}
/*
接口的作用:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用。接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数据,也不关心这些类里方法的实现细节,它只规定这批类里必须提供某些方法,提供这些方法的类就可以满足实际需要。 typescrip中的接口类似于java,同时还增加了更灵活的接口类型,包括属性、函数、可索引和类等。
定义标准。
*/
// 1、属性接口 对json的约束
//对批量方法传入参数进行约束。
//接口:行为和动作的规范,对批量方法进行约束
//接口 :可选属性
//2、 函数类型接口:对方法传入的参数 以及返回值进行约束 批量约束
//3、可索引接口:数组、对象的约束 (不常用)
//4、类类型接口:对类的约束 和 抽象类抽象有点相似
//5、接口扩展:接口可以继承接口

泛型(类 接口 方法) (约束校验规范)
泛型:软件工程中,我们不仅要创建一致的定义良好的API,同时也要考虑可重用性。 组件不仅能够支持当前的数据类型,同时也能支持未来的数据类型,这在创建大型系统时为你提供了十分灵活的功能。
在像C#和Java这样的语言中,可以使用泛型来创建可重用的组件,一个组件可以支持多种类型的数据。 这样用户就可以以自己的数据类型来使用组件
通俗理解:泛型就是解决 类 接口 方法的复用性、以及对不特定数据类型的支持(类型校验)

// 泛型:可以支持不特定的数据类型 要求:传入的参数和返回的参数一致 //(any放弃了类型检查,传入什么 返回什么。比如:传入number 类型必须返回number类型 传入 string类型必须返回string类型 //传入的参数类型和返回的参数类型可以不一致)

// T表示泛型,具体什么类型是调用这个方法的时候决定的
// function getData(value:T):T{
// return value;
// }
// getData(123);
// getData('1214231');

##########################################################################
注意:约束统一的规范、以及代码重用

解决方案:需要约束规范所以要定义接口 ,需要代码重用所以用到泛型

1、接口:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范

2、泛型 通俗理解:泛型就是解决 类 接口 方法的复用性、

装饰器(不修改原有的基础上,扩展) @
装饰器:装饰器是一种特殊类型的声明,它能够被附加到类声明,方法,属性或参数上,可以修改类的行为。
通俗的讲装饰器就是一个方法,可以注入到类、方法、属性参数上来扩展类、属性、方法、参数的功能。
常见的装饰器有:类装饰器、属性装饰器、方法装饰器、参数装饰器
装饰器的写法:普通装饰器(无法传参) 、 装饰器工厂(可传参)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.