美文网首页
学习面向对象的心得体会

学习面向对象的心得体会

作者: qzuser_1d64 | 来源:发表于2017-10-12 19:46 被阅读0次

           面向对象相对于面向过程是另外一种方法。何为对象?万物皆对象!编写的程序来源生活中,所以,编写的程序可以反映生活。对象有特点/属性/数据,和行为/动作/功能。面对对象编程的步骤:1.找出对象;2.实现对象

    JavaScript规定,一个函数可以用new关键字来调用。那么此时将按顺序发生四件事情:

    1)隐秘的创建一个新的空对象

    2)将这个函数里面的this绑定到刚才创建隐秘新对象上

    3)执行函数体里面的语句

    4)返回这个新的对象

           这个步骤是先创建一个函数,里面的属性用this打头,再定义一个新的函数,一定要在原函数前面加上加上“new”。

           在JavaScript中,任何一个函数,都有一个prototype属性,指向一个对象。每个构造函数中都存在一个隐藏对象,名字是prototype,prototype在英文当中的意思是原型的意思。执行流程为:1.在构造函数中找,若找到了就立即结束,若找不到就再原型对象中找,找到结束,找不到就报错。prototype一定是函数的属性!当这个函数是一个构造函数的时候,那么它new出来的对象,将以它的原型那个对象为new出来的实例的原型对象。

           继承的意思是给原对象增加一些新的属性和方法,可以new出一个新的对象。这个新的对象会拥有上元对象的属性和方法,还可以增加一些新的方法和属性,避免了代码的重复书写。

    例如:

    function People(a,b,c){

    this.name = a;

    this.age = b;

    this.height = c

    }

    People.prototype.eat = function(){

    console.log("牛排太好吃啦")

    }

    People.prototype.drink = function(){

    console.log("酸梅汤太好喝啦!")

    }

    function Boy(a,b,c,d){

    this.name = a;

    this.age = b;

    this.height = c;

    this.sex = d

    }

    Boy.prototype = new People();

    Boy.prototype.play = function(){

    console.log("打游戏,玩密室逃脱!")

    }

    Boy.prototype.run = function(){

    console.log("跑跑跑!")

    }

    var zhuangyuan = new Boy("状元",20,176,"男")

    zhuangyuan.play();

    zhuangyuan.run();

    zhuangyuan.eat();

    zhuangyuan.drink();

    console.log(zhuangyuan.name);

    console.log(zhuangyuan.age);

    console.log(zhuangyuan.height);

    console.log(zhuangyuan.sex)

    相关文章

      网友评论

          本文标题:学习面向对象的心得体会

          本文链接:https://www.haomeiwen.com/subject/ybvbyxtx.html