类的创建
class Person{
name:string;
age:number;
//构造函数
constructor(name:string,age:number){
this.name=name;
this.age=age;
}
print(){
return this.name+" "+this.age;
}
}
//创建实例
var p=new Person("jason",26);
alert(p.print());
类的继承
class Person{
name:string;
age:number;
tell(){
return this.name+":"+this.age;
}
}
class Student extends Person{
school:string;
tell(){
return this.name+":"+this.age+":"+this.school;
}
}
var s=new Student();
s.name="jason";
s.age=20;
s.school="远地资产";
alert(s.tell());
访问修饰符:public/private,默认为public
class Person{
name:string;
age:number;
constructor(name:string,age:number){
this.name=name;
this.age=age;
}
tell(){
return this.name+":"+this.age;
}
}
class Student extends Person{
school:string;
constructor(school:string){
this.school=school;
super("jason",1000);
}
tell(){
return this.name+":"+this.age+":"+this.school;
}
}
var s=new Student("远地资产");
alert(s.tell());
类的封装,注意要在ES5或以上环境下编译
class Person{
private age:number;
tell(){
return this.age;
}
get myAge():number{
return this.age;
}
set myAge(age:number){
if(age>150 || age<0){
alert("请填写正确的年龄");
}else{
this.age=age;
}
}
}
var p=new Person();
p.myAge=10;
alert(p.tell());
static的使用,属性必须通过类名来条用,而不能通过对象来调用
class Person{
static name:string;
tell(){
alert("姓名:"+Person.name);
}
}
var p=new Person();
Person.name="jason";
p.tell();
通过类来设定引用数据类型
class Person{
name:string;
constructor(name:string){
this.name=name;
}
tell(){
return "hello,"+this.name;
}
}
var p:Person;
p=new Person("jason");
alert(p.tell());