美文网首页
高级一 面向对象

高级一 面向对象

作者: 饥人谷_流水 | 来源:发表于2017-07-24 18:22 被阅读0次

1. OOP 指什么?有哪些特性

  • Object-oriented programming,即面向对象程序设计,其中两个最重要的概念就是类和对象。类只是具备了某些功能和属性的抽象模型,而实际应用中需要一个一个实体,也就是需要对类进行实例化,类在实例化之后就是对象。

特性:

  • 继承性:子类自动继承其父级类中的属性和方法,并可以添加新的属性和方法或者对部分属性和方法进行重写。继承增加了代码的可重用性。
  • 多态性:子类继承了来自父级类中的属性和方法,并对其中部分方法进行重写。
  • 封装性:将一个类的使用和实现分开,只保留部分接口和方法与外部联系。

2. 如何通过构造函数的方式创建一个拥有属性和方法的对象?

function obj(name,age){
    this.name = name ;
    this.age = age;
    this.myage = function(){
    console.log("my age is "+this.age)
    }
}

3. prototype 是什么?有什么特性

  • JavaScript的每个对象都继承另一个对象,后者称为“原型”(prototype)对象。只有null除外,它没有自己的原型对象。
  • 原型对象上的所有属性和方法,都能被派生对象共享。
  • 通过构造函数生成实例对象时,会自动为实例对象分配原型对象。每一个构造函数都有一个prototype 属性,这个属性就是实例对象的原型对象。
  • prototype里的属性一旦更改,其实例内也将发生变化

4. 画出如下代码的原型图

function People (name){
this.name = name;
this.sayName = function(){
console.log('my name is:' + this.name);
  }
}

People.prototype.walk = function(){
console.log(this.name + ' is walking');  
}

var p1 = new People('饥人谷');
var p2 = new People('前端');
无标题.png

5. 创建一个 Car 对象,拥有属性name、color、status;拥有方法run,stop,getStatus

function Car(name, color, status) {
this.name = name;
this.color = color;
this.status = status;
this.run = function(){
  this.status = "run"
};
this.stop = function(){
  this.status = "stop"
};
this.getStatus = function(){
  console.log(this.status);
  };
}
myCar = new Car("大众", "black", "run");

6.创建一个 GoTop 对象,当 new 一个 GotTop 对象则会在页面上创建一个回到顶部的元素,点击页面滚动到顶部。拥有以下属性和方法

  1. ct属性,GoTop 对应的 DOM 元素的容器
  2. target属性, GoTop 对应的 DOM 元素
  3. bindEvent 方法, 用于绑定事件
  4. createNode 方法, 用于在容器内创建节点

效果
代码

7. 使用木桶布局实现一个图片墙

效果
代码

相关文章

网友评论

      本文标题:高级一 面向对象

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