当前位置: 首页 > news >正文

达州高端网站建设微信公众平台注册要钱吗

达州高端网站建设,微信公众平台注册要钱吗,公众号小程序开通,查企业信息怎么查TypeScript 接口 TypeScript 接口定义如下: interface interface_name { } 以下实例中,我们定义了一个接口 IPerson,接着定义了一个变量 customer,它的类型是 IPerson。 customer 实现了接口 IPerson 的属性和方法。 interf…

TypeScript 接口

TypeScript 接口定义如下:

interface interface_name { 
}

以下实例中,我们定义了一个接口 IPerson,接着定义了一个变量 customer,它的类型是 IPerson。

customer 实现了接口 IPerson 的属性和方法。

interface IPerson { firstName:string, lastName:string, sayHi: ()=>string 
} var customer:IPerson = { firstName:"Tom",lastName:"Hanks", sayHi: ():string =>{return "Hi there"} 
} console.log("Customer 对象 ") 
console.log(customer.firstName) 
console.log(customer.lastName) 
console.log(customer.sayHi())  

联合类型和接口

以下实例演示了如何在接口中使用联合类型:

interface RunOptions { program:string; commandline:string[]|string|(()=>string); 
} 

这里commandline可以使字符串数组,字符串,或者函数表达式

接口和数组

接口中我们可以将数组的索引值和元素设置为不同类型,索引值可以是数字或字符串。

设置元素为字符串类型:

interface namelist { [index:number]:string 
} // 类型一致,正确
var list2:namelist = ["Google","Runoob","Taobao"]

 

接口继承

接口继承就是说接口可以通过其他接口来扩展自己。

Typescript 允许接口继承多个接口。

继承使用关键字 extends。

单接口继承语法格式:

Child_interface_name extends super_interface_name

多接口继承语法格式:

Child_interface_name extends super_interface1_name, super_interface2_name,…,super_interfaceN_name

继承的各个接口使用逗号 , 分隔。

interface Person { age:number 
} interface Musician extends Person { instrument:string 
} var drummer = <Musician>{}; 
drummer.age = 27 
drummer.instrument = "Drums" 

TypeScript 类

TypeScript 是面向对象的 JavaScript。

类描述了所创建的对象共同的属性和方法。

TypeScript 支持面向对象的所有特性,比如 类、接口等。

TypeScript 类定义方式如下:

class class_name { // 类作用域
}

定义类的关键字为 class,后面紧跟类名,类可以包含以下几个模块(类的数据成员):

  • 字段 − 字段是类里面声明的变量。字段表示对象的有关数据。

  • 构造函数 − 类实例化时调用,可以为类的对象分配内存。

  • 方法 − 方法为对象要执行的操作。

class Car { // 字段engine:string; // 构造函数constructor(engine:string) { this.engine = engine }  // 方法disp():void { console.log("函数中显示发动机型号  :   "+this.engine) } 
} // 创建一个对象
var obj = new Car("XXSY1")// 访问字段
console.log("读取发动机型号 :  "+obj.engine)  // 访问方法
obj.disp()

类的继承

TypeScript 支持继承类,即我们可以在创建类的时候继承一个已存在的类,这个已存在的类称为父类,继承它的类称为子类。

类继承使用关键字 extends,子类除了不能继承父类的私有成员(方法和属性)和构造函数,其他的都可以继承。

TypeScript 一次只能继承一个类,不支持继承多个类,但 TypeScript 支持多重继承(A 继承 B,B 继承 C)。

class child_class_name extends parent_class_name

继承类的方法重写

   doPrint():void { super.doPrint() // 调用父类的函数console.log("子类的 doPrint()方法。")

static 关键字

static 关键字用于定义类的数据成员(属性和方法)为静态的,静态成员可以直接通过类名调用。

   static num:number; static disp():void { console.log("num 值为 "+ StaticMem.num) } 

 instanceof 运算符

class Person{ } 
var obj = new Person() 
var isPerson = obj instanceof Person; 
console.log("obj 对象是 Person 类实例化来的吗? " + isPerson);

访问控制修饰符

TypeScript 中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。TypeScript 支持 3 种不同的访问权限。

  • public(默认) : 公有,可以在任何地方被访问。

  • protected : 受保护,可以被其自身以及其子类访问。

  • private : 私有,只能被其定义所在的类访问。

class Encapsulate { str1:string = "hello" private str2:string = "world" 
}var obj = new Encapsulate() 
console.log(obj.str1)     // 可访问 
console.log(obj.str2)   // 编译错误, str2 是私有的

类和接口

类可以实现接口,使用关键字 implements,并将 interest 字段作为类的属性使用。

以下实例中 AgriLoan 类实现了 ILoan 接口:

interface ILoan { interest:number 
} class AgriLoan implements ILoan { interest:number rebate:number constructor(interest:number,rebate:number) { this.interest = interest this.rebate = rebate } 
} var obj = new AgriLoan(10,1) 
console.log("利润为 : "+obj.interest+",抽成为 : "+obj.rebate )

TypeScript 对象

对象是包含一组键值对的实例。 值可以是标量、函数、数组、对象等,如下实例:

var object_name = { key1: "value1", // 标量key2: "value",  key3: function() {// 函数}, key4:["content1", "content2"] //集合
}

TypeScript 类型模板

假如我们在 JavaScript 定义了一个对象:

var sites = {site1: "Runoob",site2: "Google",sayHello: function () { } // 类型模板
};
sites.sayHello = function () {console.log("hello " + sites.site1);
};
sites.sayHello();

通过类型目标可以动态添加方法和实现方式

鸭子类型(Duck Typing)

鸭子类型(英语:duck typing)是动态类型的一种风格,是多态(polymorphism)的一种形式。

在这种风格中,一个对象有效的语义,不是由继承自特定的类或实现特定的接口,而是由"当前方法和属性的集合"决定。

interface IPoint { x:number y:number 
} 
function addPoints(p1:IPoint,p2:IPoint):IPoint { var x = p1.x + p2.x var y = p1.y + p2.y return {x:x,y:y} 
} // 正确
var newPoint = addPoints({x:3,y:4},{x:5,y:1})  // 错误 
var newPoint2 = addPoints({x:1},{x:4,y:3})

http://www.yayakq.cn/news/130384/

相关文章:

  • 各大网站有哪些网站设计公司长沙
  • 淮北哪里做网站广南网站建设
  • 工程建设官方网站吉林长春有做网站的吗
  • 做性的网站有哪些轮播网站
  • 网站建设与管理课程的目标短视频剪辑在哪里学
  • 如何建立微网站网站无法连接到服务器
  • 西安网络推广运营公司长沙的seo网络公司
  • 电子政务 和网站建设总结电子商务网站建设讨论
  • 多个端口网站如何做域名重定向wordpress导入 ftp
  • 外贸公司网站改版思路wordpress前台登录按钮
  • 网站开发需要的所有技术洛阳网站建设内容
  • 站长之家psd素材互联网之光博览会
  • 专业做棋牌网站的织梦iis7搭建网站教程
  • 松原做招聘的网站有哪些国防教育网站建设方案
  • 舟山市建设局网站企业管理培训免费视频课程
  • 济南正规做网站公司中国建设银行北京市分行网站
  • 网站建设技术思维导图网站被挂黑链怎么办
  • 外贸网站优化公司营销相关网站
  • 获取网站服务器信息官网建设企业
  • 响应式网站素材交互式网站开发技术包括
  • 浏览器网站设置在哪里新华书店网站建设
  • 成都著名网站建设公司做网站配置
  • 广州家具网站建设wordpress跳转链接404
  • 福州网站建设求职简历wordpress弹窗网页
  • flash 网站 模板网站建设后台和前端
  • 河南企业网站建设价格建筑设计公司名称
  • 网站开发心路历程自学做网站需要多久
  • 做58同城那样的网站成都捕鱼网站建设
  • 昆明企业网站建设公司wordpress整站打包
  • 企业网站制作报价网站没有备案 合法吗