zoukankan      html  css  js  c++  java
  • js类和对象,继承(class语法题)

    类: 抽取对象(属性和行为)进行封装,成为一个类。

    对象:类的实例化,获取类的对象。 

    对象组成: 属性(数据)。 方法(函数)。

    ES6  

    1 声明类:class。

     class Name{}

    2 实例化:new

    3 类的constructor构造函数:

    类的默认构造函数,用于传递参数,返回实例化对象。

    在new的时候,自动调用,如果没有显示定义,类的内部会给我们自动创建一个constructor。

    1,2,3例子

    class Star{(类不像函数 没有())

    constructor(uname){

    this.uname =uname;

    }

    }

    var ldh = new Star('liudh')

     liudh-> unmae形参-> unmae实参->this。this直向的是ldh。

    4  类中添加方法:

     sing(){}

    不需要写function(){},而且不需要写逗号分个。

    5 类的继承:

    class Father{}

    class Son extends Father{}

    6 由于 子类无法访问父类的this内容,导致函数调用参数失败。

     constructor(x,y){

     super(x,y);调用父类的构造函数。调用父类,father的constructor,

    }

    调用父类的构造函数:constructor(){ super();}

    调用父类的普通函数: super.say();

    查找规则:就近原则。

    7 子类的super,必须放在this之前调用!!!!

    this直向的对象。

    8 类注意的两个点:

    1 ES6中类没有遍历提升,必须先定义类,才能实例化对象。

    2  类中,共有属性和方法,一定要this使用。

    this.uname

    this.sing()。

    9 类中的this

    1 constructor的this 指的是实例对象。

    2 方法里面的this。 this指向的是方法的调用。

    ldh.dance() (实例对象),this.btn.dance()(btn);

  • 相关阅读:
    JDK9对集合添加的优化
    IO异常的处理
    动态创建分页 LINQ+EF
    TypeError at /admin/booktest/book_infor/add/ __str__ returned non-string (type bytes)
    TypeError at /admin/booktest/bookinfo/ expected string or buffer
    linux下的 pycharm 2016.3d的注册码
    解决ubantu下的pycharm输入中文的问题
    .pip的时候出现Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None))…………
    Day06
    Day05
  • 原文地址:https://www.cnblogs.com/hacker-caomei/p/14290477.html
Copyright © 2011-2022 走看看