学习面向对象的心得体会

2017-10-12  本文已影响0人  qzuser_1d64

       面向对象相对于面向过程是另外一种方法。何为对象?万物皆对象!编写的程序来源生活中,所以,编写的程序可以反映生活。对象有特点/属性/数据,和行为/动作/功能。面对对象编程的步骤: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)

上一篇 下一篇

猜你喜欢

热点阅读