typeScript第四天 typeScript 里面的类下

学习typeScript第四天希望一起加油。笔记放出,希望对大家有所帮助

// ts 中的类

    //es5中定义类的方法
        // function person(name){
        //     this.name = name;
        //     this.run = function(){
        //         alert(this.name+'在运动')
        //     }
        // }
        // var p = new person('张三');
        // p.run()

    //ts中定义类的方法    
        // class Person{
        //     name:string; //属性 前面省略了pubilc关键字 
        //     constructor(n:string){  //构造函数 实例话类的时候触发的方法
        //         this.name=n;
        //     }
        //     run():void{
        //         alert(this.name)
        //     }
        // }

        //  var p = new Person('张三');
        // p.run()


    
        // class Person{
        //     name:string; //属性 前面省略了pubilc关键字 
        //     constructor(n:string){  //构造函数 实例话类的时候触发的方法
        //         this.name=n;
        //     }
        //     run():void{
        //         alert(this.name)
        //     }
        //     getName():string{
        //          return this.name
        //     }
        //     setName(name:string):void{
        //         this.name = name
        //     }
        // }

        //  var p = new Person('张三');
        //  alert(p.getName());

        //  p.setName('李四');
        //  alert(p.getName())





// 2.ts中实现继承  extends、 super
    // class Person{
    //     name:string;
    //     constructor (name:string){
    //         this.name=name;
    //     }
    //     run():string{
    //         return `${this.name}在运动`
    //     }
    // }
    // // var p = new Person('王武');
    // // alert(p.run())

    // class Web extends Person{
    //     constructor(name:string){
    //         // super表示初始化父类的构造函数
    //         super(name)
    //     }
    // }
    // var w = new Web('李四');
    // alert(w.run()) 




//ts中继承的探讨  父类的方法和子类的方法一致
    // class Person{
    //     name:string;
    //     constructor (name:string){
    //         this.name=name;
    //     }
    //     run():string{
    //         return `${this.name}在运动`
    //     }
    // }
    // // var p = new Person('王武');
    // // alert(p.run())
    // // 子类不但可以继承父类的属性和方法还可以扩展自己的属性和方法
    // class Web extends Person{
    //     constructor(name:string){
    //         // super表示初始化父类的构造函数
    //         super(name)
    //     }
    //     run():string{
    //         return `${this.name}在运动111111`
    //     }
    //     work(){
    //         alert(`${this.name}在工作`)
    //     }
    // }
    // var w = new Web('李四');
    // // alert(w.run()); 
    // alert(w.work()); 

    // alert(w.run());  子类的run方法 如果父和子有一样的方法 现在子招没有再去父找







// 3.类里面的修饰符  typeScript 定义属性的时候给我提供了3种修饰符 

/*
    public   //公有  表示在类里面 子类 类外面都可以访问
    protected //保护类型   在类名里面、子类可以访问  在类外部不可以访问
    private  //私有   在类可以访问 在子类和类外面都不可以访问
    属性如果不佳修饰符 默认为公有
*/


// public   //公有  表示在类里面 子类 类外面都可以访问
// class Person{
//     // 公有属性
//     public name:string;
//     constructor (name:string){
//         this.name=name;
//     }
//     run():string{
//         return `${this.name}在运动`
//     }
// }
// class Web extends Person{
//     constructor(name:string){
       
//         super(name)
//     }
//     run():string{
//         return `${this.name}在运动111111`
//     }
//     work(){
//         alert(`${this.name}在工作`)
//     }
// }
// var w = new Web('李四');

// alert(w.work()); 

// // 类外部访问公有属性
// var p = new Person('王五');
// alert(p.name) //王五







//  protected //保护类型   在类名里面、子类可以访问  在类外部不可以访问

    // class Person{
    //     // 公有属性
    //     protected name:string;
    //     constructor (name:string){
    //         this.name=name;
    //     }
    //     run():string{
    //         return `${this.name}在运动`
    //     }
    // }
    // class Web extends Person{
    //     constructor(name:string){
        
    //         super(name)
    //     }
    //     run():string{
    //         return `${this.name}在运动111111`
    //     }
    //     work(){
    //         alert(`${this.name}在工作`)
    //     }
    // }
    // var w = new Web('李四');

    // alert(w.work()); //可以在子类访问
    // alert(w.run())  //在当前访问
    // // 类外部访问公有属性
    // var p = new Person('王五');
    // alert(p.name) //访问不到




 
    



// private  //私有   在类可以访问 在子类和类外面都不可以访问
    class Person{
        // 公有属性
        private name:string;
        constructor (name:string){
            this.name=name;
        }
        run():string{
            return `${this.name}在运动`
        }
    }

    // class Web extends Person{
    //     constructor(name:string){
    //         super(name)
    //     }
    //     work(){
    //         console.log(`${this.name}在工作`) //子类也是访问不到
    //     }
    // }
  var p = new Person('哈哈哈'); 
//   alert(p.name)  //类的外部访问 不到
alert(p.run())  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值